P1042乒乓球
思路:
1.读入数据 a[]记录w和l
2.通过show(11)得到11分制下的胜负,并输出。
3.通过show(21)得到21分制下的胜负,并输出。
判断胜负的条件:
有一方比分达到11或者21,且双方比分差大于等于2
细节:
读完所有比分后,若当前这局没有结束(即没分出胜负)直接输出当前的比分,包括0:0
#include<iostream>
using namespace std;
const int N = 110000;
char a[N];
int n;
void show(int k){
int l=0,w=0;
for(int i=0;i<n;i++){
if(a[i]=='W') w++;
else l++;
if(w>=k||l>=k){
if(l-w>=2||w-l>=2){
cout<<w<<":"<<l<<endl;
w=0,l=0;
}
}
}
//双方都没有到达11或21,此时已经读完a[],需要将此时的比分输出,包括0:0
cout<<w<<":"<<l<<endl;
}
int main(){
char c;
while(cin>>c&&c!='E'){
if(c=='W'||c=='L'){
a[n++]=c;
}
}
show(11);
cout<<endl;
show(21);
return 0;
}