Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48395 | raoyueyang | 【AB-1】比赛 | C++ | 解答错误 | 0 | 0 MS | 252 KB | 911 | 2022-04-12 14:32:27 |
#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'); } for(int i=0;i<n;i++) { b[i].cnt = 0; b[i].val = 0; a[i].cnt = 0; a[i].val = 0; } cout<<endl; } return 0; }