P10368「LAOI-4」Colors

T1「LAOI-4」Colors

Solution:暴力模拟

可以证明消除次数不会很多(大概最多是2次?),所以直接暴力模拟。

简要证明:

会消除的序列在原序列中呈 aba 型排列,消除后所有的 b 被消除,剩下的只有 aaa 型排列,再次消除就不存在 aba 的结构了。

细节

  1. 记得特判 \(n \leq 2\)\(k=0\) 的情况,此时直接输出,无需操作。
  2. 若这次遍历无需修改,则直接退出。

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;
    }
}
posted @ 2024-05-29 21:49  Mr_Azz  阅读(5)  评论(0编辑  收藏  举报