Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
57488 | seanlsy | J2 | C++ | 解答错误 | 20 | 13 MS | 460 KB | 1150 | 2022-10-04 11:29:04 |
#include <bits/stdc++.h> using namespace std; int t,n,len; string s; inline int read(){ int x=0,f=1;char ch=getchar(); for(;ch<'0'||ch>'9';ch=getchar()) if(ch=='-') f=-1; for(;ch>='0'&&ch<='9';ch=getchar()) x=(x<<3)+(x<<1)+(ch^48); return x*f; } bool vis[27]; char nxt[27]; int main(){ // freopen("J2.in","r",stdin); // freopen("J2.out","w",stdout); vis['u'-'a']=vis['w'-'a']=vis['n'-'a']=vis['m'-'a']=1; nxt['u'-'a']='w',nxt['n'-'a']='m'; t=read(); while(t--){ n=read(),cin>>s,len=s.length(); for(int i=0;i<s.length();i++){ if(len==n||(!vis[s[i]-'a'])) putchar(s[i]); else if(len<n){ if(s[i]=='w') putchar('u'),putchar('u'),len++; else if(s[i]=='m') putchar('n'),putchar('n'),len++; } else{ if((s[i]=='u'&&s[i+1]=='u')||(s[i]=='n'&&s[i+1]=='n')) putchar(nxt[s[i]-'a']),i++,len--; else if((s[i]=='u'||s[i]=='n')&&s[i+1]==nxt[s[i]-'a']){ int j=i+1; while(s[j]==nxt[s[i]-'a']) j++; if(s[j]==s[i]){ for(int k=i;k<j;k++) putchar(nxt[s[i]-'a']); len--; i=j; } } } } putchar(10); } return 0; }