PAT 甲级 刷题日记|A 1112 Stucked Keybo
2021-08-31 本文已影响0人
九除以三还是三哦
单词积累
stucked 被卡住的
思路
遍历对每个位置进行标记判断,如果出现不符合条件的情况,就进行标记,后续不可更改;如果出现符合条件的情况,就进行标记,后续可以更改。
坏键可以为a-z 0-9,_其中的任意一种
代码
#include <bits/stdc++.h>
using namespace std;
string test;
int k;
int flag[1000];
int main() {
cin>>k>>test;
for (int i = 0; i < test.size(); i++) {
int fuhe = 1;
for (int j = i + 1; j < i + k; j++) {
if (test[i] != test[j]) {
fuhe = 0;
break;
}
}
if (fuhe) {
if (flag[test[i]] == 0) {
flag[test[i]] = 1;
}
i += k - 1;
} else {
flag[test[i]] = 2;
}
}
for (int i = 0; i < test.size(); i++) {
if (flag[test[i]] == 1) {
cout<<test[i];
flag[test[i]] = 3;
}
}
cout<<endl;
for (int i = 0; i < test.size(); i++) {
cout<<test[i];
if (flag[test[i]] == 3) {
i += k - 1;
}
}
}