ABC477D求调
2026-09-27 09:38:56
发布于:上海
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 300005;
int n, q;
int has[MAXN];
char col[MAXN];
char cur = 'a';
int main() {
cin >> n >> q;
for (int i = 1; i <= n; i++) col[i] = 'a';
while (q--) {
int t; cin >> t;
if (t == 1) {
int x;
cin >> x;
has[x] ^= 1;
col[x] = cur;
} else {
char c;
cin >> c;
cur = c;
}
}
for (int i = 1; i <= n; i++) cout << (has[i] ? col[i] : cur);
return 0;
}
78,被卡了30min+
严肃炸掉,问AI也说没问题、
全部评论 7
你的AT号是什么
1周前 来自 上海
0不告诉你、
1周前 来自 上海
0不告诉我立刻来你家单杀你
1周前 来自 上海
0
Your idea is same as mine.
1周前 来自 江西
0这个是不是太魔怔了
1周前 来自 上海
0
正难则反
1周前 来自 浙江
0操作一逻辑不对,你在盖瓷砖和拿瓷砖的两种情况下都进行了染色操作
1周前 来自 浙江
0/bx
1周前 来自 上海
0事实上你得倒着做
1周前 来自 浙江
0
#include <bits/stdc++.h> #define endl "\n" using namespace std; const int MAXN = 300005; int n, q; int has[MAXN]; char col[MAXN]; int last[MAXN]; char cur = 'a'; int ver = 0; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> q; for (int i = 1; i <= n; i++) { col[i] = 'a'; last[i] = 0; } while (q--) { int t; cin >> t; if (t == 1) { int x; cin >> x; if (has[x] == 0) { if (last[x] < ver) { col[x] = cur; last[x] = ver; } has[x] = 1; } else { has[x] = 0; last[x] = ver; } } else { char c; cin >> c; cur = c; ver++; } } for (int i = 1; i <= n; i++) { if (has[i]) { cout << col[i]; } else { if (last[i] < ver) { cout << cur; } else { cout << col[i]; } } } cout << endl; }1周前 来自 广东
0呃呃呃可以说一下我的问题是什么吗
1周前 来自 上海
0移除更新了格子颜色为当前全局颜色,输出的时候默认了无贴纸格子为全局颜色。忽略了只有在之后经历...全局颜色的顺序
1周前 来自 广东
0
嗯,对我很有帮助
1周前 来自 新疆
0d
1周前 来自 上海
0































有帮助,赞一个