题解:P10368 「LAOI-4」Colors
FantasySegmentTree · · 题解
实际上,最多经过两次,就不会再改变了。
因为第一次操作后剩下的最多只会有连续的
所以,直接暴力就好了。
代码如下。
#include <iostream>
using namespace std;
long long T, id;
string s;
int main() {
cin >> T >> id;
while(T--) {
long long n, k;
cin >> n >> k;
string s;
cin >> s;
long long flag = 1, cnt = 0;
while(flag && cnt < k) {
string t = "";
cnt++;
flag = 0;
t += s[0];
for(long long i = 1; i < s.size() - 1; i++) {
if(s[i - 1] != s[i + 1]) t += s[i];
if(s[i - 1] == s[i + 1]) flag = 1;
}
if(s.size() != 1) t += s[s.size() - 1];
s = t;
}
cout << s << endl;
}
}