统计分数
Posted zhangjs73
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计分数相关的知识,希望对你有一定的参考价值。
题目描述 Description
根据比赛每个球的胜负,依据不同的分制计算比赛结果,比赛的分制分为十一分制和二十一分制。
比如现在有这么一份记录,(其中W表示小米获得一分,L表示小米对手获得一分,E表示比赛终止):
WWWWWWWWWWWWWWWWWWWW WWLWE
在十一分制下,此时比赛的结果是小米第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。 而在二十一分制下,此时比赛结果是小米第一局21比0获胜,正在进行第二局,比分2比1。
输入描述 Input Description
每个输入文件包含若干行字符串(每行至多20个字母),字符串由大写的W、L和E组成。E代表比赛结束,请忽略E之后的所有比赛结果。
输出描述 Output Description
输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。
其中第一部分是十一分制下的结果,第二部分是二十一分制下的结果,两部分之间由一个空行分隔。
样例输入 Sample Input
WWWWWWWWWWWWWWWWWWWW
WWLWE
样例输出 Sample Output
11:0
11:0
1:1
21:0
2:1
1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 int main() 7 { 8 string s,s1; 9 int a=0, b=0; 10 11 while(cin>>s1) 12 s += s1; 13 14 for(int i = 0; i < s.size(); i++) 15 { 16 if(s[i]==‘E‘) 17 break; 18 if(s[i]==‘W‘) 19 a++; 20 else 21 b++; 22 if((a>=11&&a-b>=2) || (b>=11&&b-a>=2)) 23 { 24 cout<<a<<":"<<b<<endl; 25 a=0; 26 b=0; 27 } 28 } 29 cout<<a<<":"<<b<<endl; 30 cout<<endl; 31 32 a=0; 33 b=0; 34 for(int i = 0; i < s.size(); i++) 35 { 36 if(s[i]==‘E‘) 37 break; 38 if(s[i]==‘W‘) 39 a++; 40 else 41 b++; 42 if((a>=21&&a-b>=2) || (b>=21&&b-a>=2)) 43 { 44 cout<<a<<":"<<b<<endl; 45 a=0; 46 b=0; 47 } 48 } 49 cout<<a<<":"<<b<<endl; 50 return 0; 51 }
以上是关于统计分数的主要内容,如果未能解决你的问题,请参考以下文章