T1:字符串加密
本题难度简单,根据题目描述模拟即可。
代码实现
#include <bits/stdc++.h> using namespace std; int main() { string s; cin >> s; for (char& c : s) { if (islower(c)) c -= 32; else c += 32; } reverse(s.begin(), s.end()); cout << s << '\n'; return 0; }
T2:美丽的数
本题难度简单,只有完全平方数才可能满足只有 个约数,再满足算术平方根是质数时,就一定只有 个约数,那么可以先筛出所有质数,然后每次判断给定的数是否为完全平方数且算术平方根是质数。
代码实现
#include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using ll = long long; // linear sieve vector<int> ps, pf; void sieve(int mx) { pf.resize(mx + 1); rep(i, mx + 1) pf[i] = i; for (int i = 2; i <= mx; ++i) { if (pf[i] == i) ps.push_back(i); rep(j, ps.size()) { int x = ps[j] * i; if (x > mx) break; pf[x] = ps[j]; } } } int main() { sieve(1e6); int q; cin >> q; while (q--) { ll x; cin >> x; ll y = sqrtl(x); if (y > 1 and y*y == x and pf[y] == y) puts("Yes"); else puts("No"); } return 0; }
T3:全都为1
本题难度较大,考察二维递推,每个位置上的棋子是否需要单独翻转一次是受它本来的颜色和其已经翻转的次数决定。
c[i][j]
表示位置 上的棋子颜色变了多少次。
位置 上的棋子受其左上部分的棋子进行操作而产生的变化次数 c[i][j] = c[i-1][j] + c[i][j-1] - c[i-1][j-1]
(容斥原理)。
- 如果位置 上初始时的棋子是黑色,且 是偶数,那么位置 上的棋子不需要进行操作;
- 如果位置 上初始时的棋子是白色,且 是奇数,那么位置 上的棋子不需要进行操作;
- 如果位置 上初始时的棋子是白色,且 是偶数,那么位置 上的棋子需要进行一次操作;
- 如果位置 上初始时的棋子是黑色,且 是奇数,那么位置 上的棋子需要进行一次操作
如果位置 上的棋子需要进行一次操作,则 c[i][j]++
,且需要进行的操作次数加一。
代码实现
#include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; int main() { int n; cin >> n; vector<vector<int>> a(n, vector<int>(n)); rep(i, n)rep(j, n) cin >> a[i][j]; vector<vector<int>> c(n, vector<int>(n)); rep(i, n)rep(j, n) { int now = 0; if (i-1 >= 0) now += c[i-1][j]; if (j-1 >= 0) now += c[i][j-1]; if (i-1 >= 0 and j-1 >= 0) now -= c[i-1][j-1]; c[i][j] = now; if (a[i][j] == 0 and c[i][j]%2 == 0) c[i][j]++; if (a[i][j] == 1 and c[i][j]%2 == 1) c[i][j]++; } cout << c[n-1][n-1] << '\n'; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现