******** 经过测试********
#include<iostream>
#include<cstring>
char c[100000];
using namespace std;
int main()
{
int z=0, y=0,i;
for (i = 0;;i++)
{
cin >> c[i];
if (c[i] == 'E')
{
break;
}
}
int n = i;//一共比的局数
//11分制下
for ( i = 0;i < n;i++)
{
if (c[i] == 'W')
{
z++;
}
else if (c[i] == 'L')
{
y++;
}
if ((z>=11||y>=11)&&abs(z-y)>=2)
{
printf("%d:%d\n", z, y);
z = 0, y = 0;
}
}
printf("%d:%d\n", z, y);
cout <<'\n';
//21分制下
z = 0, y = 0;
for (i = 0;i < n;i++)
{
if (c[i] == 'W')
{
z++;
}
else if (c[i] == 'L')
{
y++;
}
if ((z >= 21 || y >= 21) && abs(z - y) >= 2)
{
printf("%d:%d\n", z, y);
z = 0, y = 0;
}
}
printf("%d:%d", z, y);
return 0;
}
#include<iostream>
#include<cstring>
char c[100000];
int shiyiz[100000], shiyiy[100000],ershiyiz[100000], ershiyiy[100000];//存比赛结果
using namespace std;
int main()
{
int z=0, y=0,t=0,l=0,i;
for (i = 0;;i++)
{
cin >> c[i];
if (c[i] == 'E')
{
break;
}
}
int n = i;//一共比的局数
//11分制下
for ( i = 0;i < n;i++)
{
if (c[i] == 'W')
{
z++;
}
else if (c[i] == 'L')
{
y++;
}
if ((z>=11||y>=11)&&abs(z-y)>=2)
{
shiyiz[t] = z, shiyiy[t] = y;
t++;
z = 0, y = 0;
}
}
shiyiz[t] = z, shiyiy[t] = y;
//21分制下
z = 0, y = 0;
for (i = 0;i < n;i++)
{
if (c[i] == 'W')
{
z++;
}
else if (c[i] == 'L')
{
y++;
}
if ((z >= 21 || y >= 21) && abs(z - y) >= 2)
{
ershiyiz[l] = z, ershiyiy[l] = y;
l++;
z = 0, y = 0;
}
}
ershiyiz[l] = z,ershiyiy[l]=y;
for (i = 0;i <= t;i++)
{
cout << shiyiz[i] << ':' << shiyiy[i] << endl;
}
cout << endl;
for (i = 0;i <= l;i++)
{
cout << ershiyiz[i] << ':' << ershiyiy[i] << endl;
}
return 0;
}
最终经过检验,两者都可以ac