Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48151 | xujindong | 【AB-1】比赛 | C++ | 通过 | 100 | 0 MS | 272 KB | 1348 | 2022-04-09 21:05:12 |
#include<bits/stdc++.h> using namespace std; template<typename T>inline void in(T &a) { T ans=0,f=0; char c=getchar(); for(; c<'0' || c>'9'; f^=!(c^'-'),c=getchar()); for(; c<='9' && c>='0'; c=getchar())ans=(ans<<3)+(ans<<1)+(c^48); a=(f?~ans+1:ans); } template<typename T,typename... Args>inline void in(T &a,Args&...args) { in(a),in(args...); } int n,t; vector<char>q[300]; bool eg[300]; int main() { in(n,t); for(register int i=1; i<=n; i++) { char temp=getchar(); q[i].push_back(temp); if(temp=='G')eg[i]=1; } for(register int i=1; i<=t; i++) { for(int j=260; j>=1; j--) { for(vector<char>::iterator k=q[j].begin(); k!=q[j].end();) { if(*k=='G')eg[j]=0,eg[j+1]=1; q[j+(*k=='R'?3:1)].push_back(*k),k=q[j].erase(k); } } for(register int j=260; j>=1; j--) { for(vector<char>::iterator k=q[j].begin(); k!=q[j].end();) { if(*k=='R' && eg[j])q[j-1].push_back('R'),k=q[j].erase(k); else k++; } } for(register int j=1; j<=260; j++) { int r=0; for(vector<char>::iterator k=q[j].begin(); k!=q[j].end(); k++)if(*k=='R')r++; if(r>1)printf("R(%d)",r); if(r==1)printf("R"); if(eg[j])printf("G"); } printf("\n"); } return 0; }