[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;
}

posted @ 2022-08-13 14:57  nnd昵称被使用?  阅读(23)  评论(0编辑  收藏  举报