//直接分为11分和21分两种情况进行讨论(在判断为E时结束)
#include <stdio.h>
#include <iostream>
#include <cstring>
using namespace std;
int win[10000];
int w,l;
int main()
{
char s;
for(int i=1;cin>>s&&s!='E';i++)//循环判断,当碰到E结束
{
if(s=='W')win[i]=1;
else win[i]=-1;
}
//11分情况
for(int i=1;1;i++)
{ //1代表W胜,-1代表L胜
if(win[i]==1)w++;//胜场+1
if(win[i]==-1)l++;//负场+1
if(win[i]==0)//读到0则记录结束,并且输出记录结束前的分数。
{
cout<<w<<":"<<l<<endl<<endl;
break;
}
if(w-l>=2||l-w>=2)
if(w>=11||l>=11)//当分差大于2且一方分数大等于11输出
{
//printf("%d:%d",w,l);
// printf("\n");
cout<<w<<":"<<l<<endl;
w=0;//比分清零
l=0;
}
}
w=0;//清零
l=0;
//21分制
for(int i=1;1;i++)//同上,唯一区别就是判定变为21
{
if(win[i]==1)w++;
if(win[i]==-1)l++;
if(win[i]==0)
{
cout<<w<<":"<<l;
break;
}
if(w-l>=2||l-w>=2)
if(w>=21||l>=21)//11变为21
{
cout<<w<<":"<<l<<endl;
w=0;
l=0;
}
}
return 0;
}
P1042
最新推荐文章于 2024-04-12 18:49:10 发布