提交时间:2022-10-04 11:33:44

运行 ID: 57518

#include <bits/stdc++.h> using namespace std; int n,cnt; bool a[100001]; string t; int main() { int T; scanf("%d",&T); while(T--) { scanf("%d",&n); cin>>t; if(n==t.size()) { cout<<t<<"\n"; continue; } memset(a,0,sizeof(a)); string s; cnt=0; for(int i=0; i<t.size(); i++,cnt++) { if(t[i]=='w') s[cnt]='u',cnt++,a[cnt]=1; else if(t[i]=='m') s[cnt]='n',cnt++,a[cnt]=1; else s[cnt]=t[i]; } int c=cnt-n; for(int i=0; i<cnt; i++) { bool f=0; if(c>0) { if((s[i]=='u'&&s[i+1]=='u')||(s[i]=='u'&&a[i+1]==1)||(s[i-1]=='u'&&a[i]==1&&s[i+1]=='u')) { printf("w"); c--,i++,f=1; } else if((s[i]=='n'&&s[i+1]=='n')||(s[i]=='n'&&a[i+1]==1)||(s[i-1]=='n'&&a[i]==1&&s[i+1]=='n')) { printf("m"); c--,i++,f=1; } } if(!f) { cout<<s[i]; if(a[i+1]==1) { cout<<s[i]; i++; } } } cout<<"\n"; } return 0; }