Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48236 | MattL | 【AB-1】比赛 | C++ | 通过 | 100 | 0 MS | 280 KB | 1321 | 2022-04-11 11:08:04 |
#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; }