[2003年NOIP普及组] 乒乓球

4.[2003年NOIP普及组] 乒乓球

l  分析:根据题意,在11分制时,用for语句过一遍数据并对数据进行分类,如果有数据符合11分制的题意就输出这组比分,将统计的变量清零继续进行,直到遇到E为止,最后将最后一组还没到要求的比分输出。21分制同上。

l   

#include<iostream>

#include<cstdio>

#include<cmath>

#include<cstring>

using namespace std;

int main()

{

       char s[100001];

       int a=0,b=0,c=0,d=0;

       for(int i=0; ;i++)//输入 遇到E停止

       {

              cin>>s[i];

              if(s[i]=='E') break;

       }

       for(int i=0;i<strlen(s);i++)

       {

              if(s[i]=='W') a++;

              if(s[i]=='L') b++;

              if((a>=11||b>=11)&&abs(a-b)>=2) //11分制

              {//有一方大于等于11且两方分差大于等于2

                     cout<<a<<":"<<b<<endl;

                     a=0;b=0;//每次统计完就清零重新开始

              }

       }

       cout<<a<<":"<<b<<endl;//最后余下的ab输出

       cout<<endl;

       for(int i=0;i<strlen(s);i++)

       {

              if(s[i]=='W') c++;

              if(s[i]=='L') d++;

              if((c>=21||d>=21)&&abs(c-d)>=2)//21分制

              {//同上 

                     cout<<c<<":"<<d<<endl;

                     c=0;d=0;

              }

       }

       cout<<c<<":"<<d<<endl;

       return 0;

}

posted @ 2022-08-12 09:32  4lovls  阅读(65)  评论(0)    收藏  举报