当前位置: 首页 > news >正文

ABC436 题解

A. o-padding

code
#include<bits/stdc++.h>
using namespace std;
int main(){int n;string s,pre = "";cin >> n >> s;for(int i = s.size()+1; i <= n; ++i)pre += 'o';cout << pre << s;
}

B. Magic Square

code
#include<bits/stdc++.h>
using namespace std;
const int NN = 108;
int a[NN][NN];
int n;
int main(){ios::sync_with_stdio(false),cin.tie(0);cin >> n;int x = 0, y = (n-1)/2,cnt = 0;for(int i = 1; i <= n; ++i){for(int j = 1; j <= n; ++j){a[x][y] = ++cnt;if(j != n){x = (n+x-1) % n;y = (y+1) % n;}else{x = (x+1) % n;}}}for(int i = 0; i < n; ++i){for(int j = 0; j < n; ++j){cout << a[i][j] << " ";}cout << endl;}
}

C. 2x2 Placing

不得不说,C 题的实现是有一点困难的

至少在脑袋不够用的情况下卡了本人很久的实现 TAT

就是一个在平面内查询一个点是否被覆盖的问题

code
#include<bits/stdc++.h>
using namespace std;
const int NN = 1e6 + 8;
int n,m;
int fx[9] = {-1,-1,-1,0,0,0,1,1,1};
int fy[9] = {-1,0,1,-1,0,1,-1,0,1};
struct Node{int num;int x,y;bool operator < (const Node &A)const{if(x == A.x){if(y == A.y) return num < A.num;return y <= A.y;}else return x < A.x;}bool operator <= (const Node &A)const{if(x == A.x){if(y == A.y) return num <= A.num;return y <= A.y;}else return x < A.x;}
}a[NN],b[NN];
bool d[NN];
vector<int> now,pre;
int check(int x,int y){int i = lower_bound(b+1,b+1+m,(Node){0,x,y}) - b;if(b[i].x == x && b[i].y == y && d[b[i].num]) return b[i].num;else return 0x3f3f3f3f;
}
int main(){cin >> n >> m;for(int i = 1; i <= m; ++i)cin >> a[i].x >> a[i].y, b[i].x= a[i].x, b[i].y = a[i].y, b[i].num = i;sort(b+1,b+1+m);int ans = 0;for(int i = 1; i <= m; ++i){bool vis = 1;for(int j = 0; j <= 8; ++j)if(check(a[i].x + fx[j],a[i].y + fy[j]) < i){// cout << i << ":" << a[i].x + fx[j] << " " << a[i].y + fy[j] << "get\n";vis = 0;break;}if(vis) d[i] = 1,++ans;}cout << ans << endl;
}

D. Teleport Maze

bfs 即可

code
#include<bits/stdc++.h>
using namespace std;
const int NN = 1e3 + 8;
int H,W;
string s;
int step[NN][NN];
int vis[NN][NN];
int fx[4] = {0,0,1,-1};
int fy[4] = {1,-1,0,0};
struct Node{int x,y;
};
vector<Node> Ch[30];inline int trans(char c){return c-'a'+1;
}
void search(){queue<Node> q;q.push({1,1});step[1][1] = 0;while(!q.empty()){Node u = q.front();q.pop();int ux = u.x, uy = u.y, stu = step[ux][uy];if(vis[ux][uy] != 0){int c = vis[ux][uy];for(auto j : Ch[c]){int vx = j.x, vy = j.y;if(step[vx][vy] == -1){q.push({vx,vy});step[vx][vy] = stu + 1;}}Ch[c].clear();}for(int j = 0; j < 4; ++j){int vx = ux + fx[j], vy = uy + fy[j];if(vx <= 0 || vx > H || vy <= 0 || vy > W) continue;if(step[vx][vy] == -1 && vis[vx][vy] != -1){q.push({vx,vy});step[vx][vy] = stu + 1;}}}
}
int main(){memset(step,-1,sizeof(step));cin >> H >> W;step[1][1] = 0;for(int i = 1; i <= H; ++i){cin >> s;s = ' ' + s;for(int j = 1; j <= W; ++j)if(s[j] == '#'){vis[i][j] = -1;}else if(isalpha(s[j])) Ch[trans(s[j])].push_back({i,j}), vis[i][j] = trans(s[j]);}search();cout << step[H][W];
}

E. Minimum Swap

这道题就是通过排列连边之后,询问最小环的大小

code
#include<bits/stdc++.h>
using namespace std;
const int NN = 3e5 + 8;
int n;
int a[NN],rev[NN];
int main(){cin >> n;for(int i = 1; i <= n; ++i)cin >> a[i];long long ans = 0;for(int i = 1; i <= n; ++i){if(i != a[i]){int cnt = 1;int t = a[i];while(a[i] != i) swap(a[i],a[t]), t = a[i], ++cnt;ans += 1ll * cnt * (cnt-1) / 2;}}cout << ans;
}

F. Starry Landscape Photo

G. Linear Inequation

http://www.jsqmd.com/news/128342/

相关文章:

  • Nintendo Switch NAND管理专家:NxNandManager深度使用教程
  • 2025百度SEO服务商严选:避坑指南+5大实战派机构推荐,精准获客率超75%
  • 想在湖南省衡阳市农村盖房子,靠谱的自建房设计公司口碑推荐 - 苏木2025
  • League Director终极指南:打造专业级英雄联盟回放视频
  • XHS-Downloader小红书内容采集与数据导出完整指南
  • 人人都是产品经理 学习笔记
  • 2025年GEO优化公司综合实力测评排名:技术深度与商业成效双维度权威TOP5榜单
  • 注意!2026年《中科院分区表》和《国际期刊预警名单》将发布
  • 2025年GEO优化服务商实测测评:权威选TOP5榜单推荐
  • 抖音创作者内容批量采集终极指南:三步实现自动化视频下载
  • 2025年行业内正规的方形横流冷却塔品牌怎么选购,冷却塔/工业冷却塔/方形横流冷却塔/圆形逆流冷却塔/方形横流冷却塔制造厂家如何选 - 品牌推荐师
  • 2025 拉萨轿车托运全场景体验指南:5 大品牌评分对比,鹏宇 9.98 分最适配藏区 - 品牌智鉴榜
  • 多平台直播录制工具终极完整指南:一键搭建智能监控系统
  • 从零实现I2C HID设备调试:解决启动代码10的实操步骤
  • https://doc.dcloud.net.cn/uni-app-x/app-harmony/
  • 2025年靠谱的周转箱用户好评厂家推荐 - 行业平台推荐
  • 湖南省邵阳市自建房设计公司/机构权威测评推荐排行榜 - 苏木2025
  • 如何快速解决OpenSpeedy常见故障:实用排查指南全解析
  • 工业4.0场景下智能蜂鸣器电路的发展趋势分析
  • 【生产力工具】Ollama 下载安装教程:从零构建本地大模型运行环境 (含模型路径修改) - PC修复电脑医生
  • 滴滴企业版携手纷享销客:以CRM重构企业出行服务新体验
  • Apache Parquet 优势与日志应用场景解析
  • Open-AutoGLM搭建常见故障TOP10,99%的人都踩过这些坑
  • 一物一码公司推荐榜:主推再互动(2025全域标杆首选) - 品牌智鉴榜
  • 2025年河道护坡砖订制厂家权威推荐榜单:混凝土联锁块/高速护坡砖/挡土砖源头厂家精选 - 品牌推荐官
  • UABEA:解锁Unity游戏资源提取与修改工具的终极指南
  • 2025年热门的金属折叠周转箱/工厂周转箱用户口碑认可参考(高评价) - 行业平台推荐
  • 2025年评价高的儿童房攀岩墙/儿童房书桌厂家采购参考指南 - 行业平台推荐
  • 2025年评价高的儿童房攀岩墙/儿童房书桌厂家采购参考指南 - 行业平台推荐
  • LeagueAkari终极指南:英雄联盟全流程自动化解决方案