https://www.luogu.org/problem/P1042
#include<bits/stdc++.h> using namespace std; int win[62503]; int w,l; int main() { char s; //因为都为单个字符,所以用char for(int i=1; cin>>s&&s!='E'; i++) { //循环读入,当读到字符E结束 if(s=='W')win[i]=1; //1表示胜,2表示负 else win[i]=2; } //先搞11分制的 for(int i=1; 1; i++) { if(win[i]==1) w++;//胜场+1 if(win[i]==2) l++;//负场+1 if(win[i]==0) { //读到0则记录结束,输出记录结束前的分数。 cout<<w<<":"<<l<<endl<<endl; w=0; l=0; //清零 break; } if((w-l>=2||l-w>=2)&&(w>=11||l>=11)) { //当双方比分相差大于2且一方分数大等于11输出 cout<<w<<":"<<l<<endl; w=0;//比分清零 l=0; } } //21分制 for(int i=1; 1; i++) { if(win[i]==1)w++; if(win[i]==2)l++; if(win[i]==0) { cout<<w<<":"<<l; break; } if(w-l>=2||l-w>=2) if(w>=21||l>=21) { cout<<w<<":"<<l<<endl; w=0; l=0; } } return 0; }