题解:AT_abc394_c [ABC394C] Debug
首先暴力是肯定会 T 飞的。
考虑什么时候会产生新的 WA,可以发现 AC 的第一个字符是 A,所以如果前面还有一个 W 就会产生新的 WA。如果前面有多个 W 就会不断产生 WA 然后改为 AC。
所以找到一个 A 就往前找连续的 W,并将第一个 W 改为 A,其他的 W 和 A 都改为 C 即可。
Code
#include<bits/stdc++.h>
using namespace std;
string s;
int n;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>s;n=s.size();
for(int i=0;i<n;i++){
if(s[i]=='A'&&s[i-1]=='W'){
int j=i;
while(s[j-1]=='W'){
s[j]='C';
j--;
}
s[j]='A';
}
}
cout<<s;
return 0;
}