1018. 锤子剪刀布 (20)

来源:互联网 发布:php招聘 编辑:程序博客网 时间:2024/04/30 09:47

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。

输入格式:

输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。

输出格式:

输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1个空格。如果解不唯一,则输出按字母序最小的解。

输入样例:
10C JJ BC BB BB CC CC BJ BB CJ J
输出样例:
5 3 22 3 5B B
#include<iostream>using namespace std;int max(int a,int b,int c){if(a>b)if(a>c)return a;elsereturn c;elseif(b>c)return b;elsereturn c;}int main(){int N;cin>>N;int w1=0,p1=0,l1=0,w2=0,p2=0,l2=0;int c1=0,c2=0,c3=0,c4=0,c5=0,c6=0;for(int i=0;i<N;i++){char a,b;cin>>a>>b;if(a==b){p1++;p2++;}else if(a=='B'&&b=='C'){c3++;w1++;l2++;}else if(a=='C'&&b=='J'){c1++;w1++;l2++;}else if(a=='J'&&b=='B'){c2++;w1++;l2++;}else if(a=='C'&&b=='B'){c6++;w2++;l1++;}else if(a=='J'&&b=='C'){c4++;w2++;l1++;}else if(a=='B'&&b=='J'){c5++;w2++;l1++;}}int win=max(c1,c2,c3);int win2=max(c4,c5,c6);cout<<w1<<' '<<p1<<' '<<l1<<endl;cout<<w2<<' '<<p2<<' '<<l2<<endl;//cout<<win<<endl<<win2;if(win==c3)cout<<'B'<<' ';else if(win==c1)cout<<'C'<<' ';elsecout<<'J'<<' ';if(win2==c6)cout<<'B';else if(win2==c4)cout<<'C';else if(win2==c5)cout<<'J';}


0 0
原创粉丝点击