乒乓球
题目 乒乓球
思路分析
题目少给了一个条件:(其实是乒乓球的隐含条件)
一局比赛结束需要满足双方分差至少为2分,否则继续进行当前这局。
例如在11分制下,当前比分为10:10,那么至少需要再进行2轮比赛才可以结束,即在12:10或者10:12的时候结束。如果双方分差一直拉开不到2分,则这局比赛会一直进行下去。
所以两个条件 先到11分或者21分的 并且分差2分以上 的获胜
直接模拟即可
代码实现
#include<bits/stdc++.h>
using namespace std;
void work(string str,int score)
{
int a=0,b=0;
for(int i=0;i<str.size();i++){
if(str[i]=='W')
a++;
else
b++;
if(max(a,b)>=score && abs(a-b)>=2){
cout<<a<<":"<<b<<endl;
a=b=0;
}
}
cout<<a<<":"<<b<<endl;
}
int main()
{
string str;
char c;
while(cin>>c && c!='E')
str+=c;
work(str,11);
cout<<endl;
work(str,21);
return 0;
}
💬 评论