提交时间:2022-10-04 11:40:31
运行 ID: 57524
#include <bits/stdc++.h> using namespace std; int n,uu[100001],nn[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(uu,0,sizeof(uu)); memset(nn,0,sizeof(nn)); for(int i=0; i<t.size(); i++) { if(t[i]=='u') uu[i]=1; if(t[i]=='w') uu[i]=2; if(t[i]=='n') nn[i]=1; if(t[i]=='m') nn[i]=2; } int c=t.size(); for(int i=0; i<t.size(); i++) if(uu[i]==2 || nn[i]==2) c++; c-=n; for(int i=0; i<t.size(); i++) { bool f=0; if(c>0) { if((uu[i]>0 && uu[i+1]>0)||uu[i]==2) { printf("w"); uu[i]--,uu[i+1]--; f=1,c--; } if((nn[i]>0 && nn[i+1]>0)||nn[i]==2) { printf("m"); nn[i]--,nn[i+1]--; f=1,c--; } } else { if(uu[i]==2) { printf("uu"); f=1,c++; } if(nn[i]==2) { printf("nn"); f=1,c++; } } if((t[i]=='u'&&uu[i]==0)||(t[i]=='n'&&nn[i]==0)) continue; if(!f) cout<<t[i]; } printf("\n"); } return 0; }