这个题伤害了我幼小的心灵
查看原帖
这个题伤害了我幼小的心灵
910683
mocmc楼主2022/12/13 22:05

坑点1:乒乓球规则(一个人获分要大于等于11(或21)并且比那个人高至少2分)

坑点2:那个E还可能出现在开头(最后就卡这了) 它居然放在开头!!!!!!!!!!!

PS:测试点1:EWLWLWL

坑点3:数组开大些

#include<iostream>
#include<stdio.h>
using namespace std;
#define ll long long

int main()
{
	ll i=1,j;
	char arr[62505];
	ll win1=0,win2=0;
   for(i=1;;i++)
   {
   	cin>>arr[i];
   	if(arr[i]=='E')
   	{
   		break;
   	}
   }
   for(j=1;;j++)
   {
   	
   		if(arr[j]=='W')
    	{
    		win1++;
    	}
    	else if(arr[j]=='L')
    	{
    		win2++;	
    	}
    	else
    	{
    		cout<<win1<<":"<<win2<<endl;
			break;
    	}
    	if((win1-win2>=2||win2-win1>=2)&&(win1>=11||win2>=11))
    	{
    		printf("%d:%d\n",win1,win2);
    		win1=0;
    		win2=0;
    	}
   }
   printf("\n");
   win1=0;
   win2=0;
      for(j=1;j<=i-1;j++)
   {
   	
   		if(arr[j]=='W')
    	{
    		win1++;
    	}
    	else if(arr[j]=='L')
    	{
    		win2++;	
    	}
    	else
    	{
    		cout<<win1<<":"<<win2<<endl;
			break;
    	}
    	if((win1-win2>=2||win2-win1>=2)&&(win1>=21||win2>=21))
    	{
    		printf("%d:%d\n",win1,win2);
    		win1=0;
    		win2=0;
    	}
   }
   
	return 0;
}
2022/12/13 22:05
加载中...