#include<stdio.h>
void EVE(char x[62503])
{
int a[2501]={0},b[2501]={0},i=0;
char*p=x;
while(*p!='E')
{
if(*p=='W')
a[i]++;
else if(*p=='L')
b[i]++;
if((a[i]>=11||b[i]>=11)&&(a[i]-b[i]>=2||b[i]-a[i]>=2))
i++;
p++;
}
for(i=0;(a[i]!=0||b[i]!=0);i++)
{
printf("%d:%d\n",a[i],b[i]);
}
if((a[i-1]>=11||b[i-1]>=11)&&(a[i-1]-b[i-1]>=2||b[i-1]-a[i-1]>=2))
printf("%d:%d\n",a[i],b[i]);
}
void TET(char y[62503])
{
int a[2501]={0},b[2501]={0},i=0;
char*pt=y;
while(*pt!='E')
{
if(*pt=='W')
a[i]++;
else if(*pt=='L')
b[i]++;
if((a[i]>=21||b[i]>=21)&&(a[i]-b[i]>=2||b[i]-a[i]>=2))
i++;
pt++;
}
for(i=0;(a[i]!=0||b[i]!=0);i++)
{
printf("%d:%d\n",a[i],b[i]);
}
if((a[i-1]>=21||b[i-1]>=21)&&(a[i-1]-b[i-1]>=2||b[i-1]-a[i-1]>=2))
printf("%d:%d\n",a[i],b[i]);
}
int main()
{
int i=0;
char s[62503],a='w';
while(a!='E')
{
a=getchar();
s[i++]=a;
}
EVE(s);
printf("\n");
TET(s);
return 0;
}
我自己测试没什么问题,也按照题解里面说的改过一点,但是检测点1和6一直wa,实在找不到原因,希望得到大佬的指点,感谢