题目
简单模拟,需要注意的是乒乓球的规则是当赢球数和输球数大于2时才会胜出。
以11分为例,每次计数w,l的个数,当w >= 11&&w-l >= 2||l >= 11&&l-w>=2 时才会printw:l的值。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+10;
int main()
{
// freopen("in.in","r",stdin);//从in.in文件中读入数据
// freopen("out.out","w",stdout);//将结果输出到out.out文件中
vector<char> s;
char i;
int w = 0,l = 0,f = 0;
while (cin >> i)
{
if(i == 'E') break;
s.push_back(i);
}
for (int i = 0; i < s.size(); i++)
{
if(s[i] == 'W') w++;
if(s[i] == 'L') l++;
if(w >= 11&&w-l >= 2||l >= 11&&l-w>=2)
{
printf("%d:%d\n",w,l);
w = l = 0;
}
}
printf("%d:%d\n",w,l);
printf("\n");
w = l = 0;
for (int i = 0; i < s.size(); i++)
{
if(s[i] == 'W') w++;
if(s[i] == 'L') l++;
if(w >= 21&&w-l >= 2||l >= 21&&l-w>=2)
{
printf("%d:%d\n",w,l);
w = l = 0;
}
}
printf("%d:%d\n",w,l);
return 0;
}