提交时间:2022-04-11 11:08:04
运行 ID: 48236
#include <bits/stdc++.h> using namespace std; int n,t; struct qp{ bool val;//鏄笉鏄疪 int cnt; }a[1000],b[1000]; char tt; int main() { cin>>n>>t; for(int i=1;i<=n;i++) cin>>tt,a[i]=(qp){(tt=='R'),1}; while(t--) { for(int i=1;i<=250;i++) if(!a[i].val) b[i]=a[i]; for(int i=1;i<=250;i++) { if(a[i].cnt&&a[i].val) { if(!b[i+2].cnt) b[i+2]=a[i],a[i].cnt=0; else if(b[i+2].val) b[i+2].cnt+=a[i].cnt,a[i].cnt=0; else if(!b[i+1].cnt) b[i+1]=a[i],a[i].cnt=0; else if(b[i+1].val) b[i+1].cnt+=a[i].cnt,a[i].cnt=0; else if(!b[i].cnt) b[i]=a[i],a[i].cnt=0; else b[i].cnt+=a[i].cnt,a[i].cnt=0; } } for(int i=1;i<=250;i++) if(b[i].cnt) { if(b[i].cnt>1) printf("%c(%d)",b[i].val?'R':'G',b[i].cnt); else printf("%c",b[i].val?'R':'G'); } memcpy(a,b,sizeof(b)); memset(b,0,sizeof(b)); cout<<endl; } return 0; }