P10368「LAOI-4」Colors
T1「LAOI-4」Colors
Solution:暴力模拟
可以证明消除次数不会很多(大概最多是2次?),所以直接暴力模拟。
简要证明:
会消除的序列在原序列中呈 aba 型排列,消除后所有的 b 被消除,剩下的只有 aaa 型排列,再次消除就不存在 aba 的结构了。
细节
- 记得特判 \(n \leq 2\) 和 \(k=0\) 的情况,此时直接输出,无需操作。
- 若这次遍历无需修改,则直接退出。
Code:
signed main(){
read(T,id);
while(T--){
read(n,k);
cin>>s;
if(n<=2||k==0){cout<<s<<"\n";continue;} //细节1
for(rint i=1;i<=k;i++){
t="";t+=s[0];bool f=1;
for(rint j=1;j<s.size()-1;j++){
if(s[j-1]!=s[j+1]) t+=s[j];
else f=0;
}
t+=s[s.size()-1];
if(f) break;//细节2
s=t;
}
cout<<t<<endl;
}
}