AcWing第1场热身赛题解
A. AcWing 3544. 寻找变化前的01序列
题目链接:https://www.acwing.com/problem/content/3547/
题目大意:给定一个 串,消掉连续的 个 后面的 。
解题思路:开个计数器记录连续的 出现的次数,若达到 切后面那个是 则去除那个 ,同时计数器清零。
示例程序:
#include <bits/stdc++.h>
using namespace std;
char s[110];
int cnt, n;
int main() {
cin >> n;
while (n--) {
cin >> s;
cnt = 0;
for (int i = 0; s[i]; i++) {
if (s[i] == '0' && cnt >= 5) {
cnt = 0;
}
else {
putchar(s[i]);
if (s[i] == '1') cnt ++;
else cnt = 0;
}
}
puts("");
}
return 0;
}
B. AcWing 3545. 寻找奇特的数
题目链接:https://www.acwing.com/problem/content/3548/
题目大意:判断有多少对 满足 且 。
解题思路:从 到 枚举每个整数,若 且 则找到一组满足条件的数。
示例程序:
#include <bits/stdc++.h>
using namespace std;
int T, n, m, cnt;
int main() {
cin >> T;
while (T--) {
cin >> n >> m;
cnt = 0;
for (int i = 1; i <= n; i++) {
if (m % i == 0 && m / i <= n)
cnt++;
}
cout << cnt << endl;
}
return 0;
}
C. AcWing 3546. 复制、剪切、粘贴
题目链接:https://www.acwing.com/problem/content/3549/
题目大意:模拟题目所述的字符串的三种操作。
解题思路:字符串模拟。按照题目要求模拟即可。
示例程序:
#include <bits/stdc++.h>
using namespace std;
string s, op, t;
int m, l, r;
int main() {
cin >> s >> m;
while (m--) {
cin >> op;
if (op[1] == 'U') { // CUT
cin >> l >> r;
t = s.substr(l, r-l+1);
s = s.substr(0, l) + s.substr(r+1);
} else if (op[1] == 'O') { // COPY
cin >> l >> r;
t = s.substr(l, r-l+1);
} else { // PASTE
cin >> l;
s = s.substr(0, l+1) + t + s.substr(l+1);
}
cout << s << endl;
}
return 0;
}
标签:
AcWing
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2021-04-06 C系统编程之生产者与消费者
2021-04-06 C语言线程学习之实现“睡眠排序”