@[gjt6733](/user/972155) 自己按照这个写一遍
```cpp
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define eps 1e-6
using namespace std;
#define clr(x) memset(x,0,sizeof((x)))
const int maxn = 1e4+1;//2e6+1
#define MAX(a,b,c) ((a)>(b)?((a)>(c)?(a):(c)):((b)>(c)?(b):(c)))
#define _max(a,b) ((a) > (b) ? (a) : (b))
#define _min(a,b) ((a) < (b) ? (a) : (b))
#define _for(a,b,c) for(int a = b;a<c;a++)
int readchar() {
int ch;
for(;;) {
ch = getchar();
if(ch!='\n'&&ch!='\r')return ch;
}
}
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif
int ch,wn = 0,ln = 0;//wn,ln表示11分制比分
int a = 0,b = 0,i=0;//a,b表示21分制比分
int r[maxn];
clr(r);
while((ch = readchar())!=EOF&&ch!='E') {
if(ch == 'W'){ wn++;a++;}
else { ln++; b++;}
if((wn>=11||ln>=11)&&abs(wn-ln)>=2) {
printf("%d:%d\n",wn,ln);
wn = 0;
ln = 0;
}
if((a >= 21 || b>=21) && abs(a-b)>=2) {
r[i] = a;
r[i+1] = b;
i+=2;
a = 0;
b = 0;
}
}
printf("%d:%d\n\n",wn,ln);
for(int j = 0;j<i;j+=2) {
printf("%d:%d\n",r[j],r[j+1]);
}
printf("%d:%d",a,b);
return 0;
}
```
by Kimi_0406 @ 2023-08-20 15:15:39
@[Kimi_0406](/user/1067870) 感谢
by gjt6733 @ 2023-12-27 22:01:50