题目描述
2021年世界乒乓球锦标赛在休斯敦如火如荼的举行着,中国队派出了最强的年轻阵容参加,男单是:樊振东、梁靖崑、王楚钦、林高远、周启豪。男单决赛在瑞典选手和中国选手樊振东之间进行。
(图为进入男子单打决赛的瑞典选手莫雷加德和他的六边形球拍)
现今的乒乓单打赛是7局4胜制,即最多打满7局,先赢4局的一方获胜。每局11分,先赢11分的一方赢得此局,局分可能为“11:3”,“4:11”,“11:9”等。当然,如果双方比分胶着,出现连续平分的情况,如打到“11:11”,“13:13”,“17:17”等,这时该局比赛要继续,直到有一方多赢2分为止。
小周也参加了本届世乒赛,现给出按比赛先后顺序小周的得失分情况,输出每局比分和最终的大比分。
输入
1行,若干个数,这些数要么为0,要么为1。为0表示小周这一球输了,对方得1分;1表示这球小周赢了,小周得1分。
输入数据保证是完整的比赛情况记录,即没有漏记、多记和错记。数的个数不超过1000个。
输出
共M行,前M-1行为每局比分,第M行为大比分。
每行的格式为“X:Y”,注意中间是英文冒号。前M-1行的X表示小周的分数,Y是对方的分数;第M行X,Y分别表示小周和对方赢的局数。
样例
输入
1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1
1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 1 1 1
0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0
1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1
(一行输入)
输出
11:2
3:11
11:7
11:9
11:4
4:1
参考代码:(未完全完成)没有考虑10:10加赛情况
#include <bits/stdc++.h>
using namespace std;
int N=1000;
int main()
{
int a[N],i=0;
int sore_z=0,sore_x=0;
int bs_z=0,bs_x=0;
string s;
getline(cin,s);
for(int i= 0;i<s.length();i++)
{
if(s[i]=='1') sore_z +=1;
else if(s[i]=='0') sore_x +=1;
if(sore_z==11||sore_x==11)
{
cout<<sore_z<<":"<<sore_x<<endl;
if(sore_z>sore_x) bs_z +=1;
else if(sore_z<sore_x) bs_x +=1;
sore_z=0;
sore_x=0;
}
}
cout<<bs_z<<":"<<bs_x;
return 0;
}