[2003年NOIP普及组] 乒乓球
循环读入比赛成绩,存储比分;
分为11分制和21分制,当满足比赛结束条件(注意:如果一名选手为11(21)分,而另一名选手与其分的差距小于2,则比赛继续进行,直到差距等于2为止),输出比分,并把比分归零;
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int w,l;
char a[10000000];
int main()
{
for(int i=1;;i++)
{
cin>>a[i];
if(a[i]=='E') break;
}
for(int i=1;i<=10000;i++)
{
if(a[i]=='W')
w++;
if(a[i]=='L')
l++;
if((w>=11||l>=11)&&(w-l>=2||l-w>=2)||a[i]=='E')
{
cout<<w<<":"<<l<<endl;
w=l=0;
}
}
cout<<endl;
for(int i=1;i<=10000;i++)
{
if(a[i]=='W')
w++;
if(a[i]=='L')
l++;
if((w>=21||l>=21)&&(w-l>=2||l-w>=2)||a[i]=='E')
{
cout<<w<<":"<<l<<endl;
w=l=0;
}
}
return 0;
}