大家應(yīng)該都會(huì)玩“錘子剪刀布”的游戲:兩人同時(shí)給出手勢(shì),勝負(fù)規(guī)則如圖所示:
現(xiàn)給出兩人的交鋒記錄,請(qǐng)統(tǒng)計(jì)雙方的勝碍岔、平、負(fù)次數(shù),并且給出雙方分別出什么手勢(shì)的勝算最大枫疆。
輸入格式:
輸入第1行給出正整數(shù)N(<=105
)忘分,即雙方交鋒的次數(shù)棋枕。隨后N行,每行給出一次交鋒的信息妒峦,即甲重斑、乙雙方同時(shí)給出的的手勢(shì)。C代表“錘子”肯骇、J代表“剪刀”窥浪、B代表“布”,第1個(gè)字母代表甲方笛丙,第2個(gè)代表乙方漾脂,中間有1個(gè)空格。
輸出格式:
輸出第1若债、2行分別給出甲符相、乙的勝拆融、平蠢琳、負(fù)次數(shù),數(shù)字間以1個(gè)空格分隔镜豹。第3行給出兩個(gè)字母傲须,分別代表甲、乙獲勝次數(shù)最多的手勢(shì)趟脂,中間有1個(gè)空格泰讽。如果解不唯一,則輸出按字母序最小的解昔期。
輸入樣例:
10
C J
J B
C B
B B
B C
C C
C B
J B
B C
J J
輸出樣例:
5 3 2
2 3 5
B B
#include <iostream>
using namespace std;
struct people{
int win=0;
int lose=0;
int tie=0;
char A;
};
int main()
{
int N,c1=0,b1=0,j1=0,c2=0,b2=0,j2=0;
char MAX1,MAX2;
cin>>N;
struct people p1,p2;
for(int i=0;i<N;i++){
cin>>p1.A>>p2.A;
if(p1.A==p2.A) {
p1.tie++;
p2.tie++;
}
if(p1.A=='C'&&p2.A=='J'){
p1.win++;
p2.lose++;
c1++;
}
if(p1.A=='C'&&p2.A=='B'){
p2.win++;
p1.lose++;
b2++;
}
if(p1.A=='B'&&p2.A=='J'){
p2.win++;
p1.lose++;
j2++;
}
if(p1.A=='B'&&p2.A=='C'){
p1.win++;
p2.lose++;
b1++;
}
if(p1.A=='J'&&p2.A=='B'){
p1.win++;
p2.lose++;
j1++;
}
if(p1.A=='J'&&p2.A=='C'){
p2.win++;
p1.lose++;
c2++;
}
}
if(c1>b1&&c1>=j1) MAX1='C';
if(b1>=c1&&b1>=j1) MAX1='B';
if(j1>b1&&j1>c1) MAX1='J';
if(c2>b2&&c2>=j2) MAX2='C';
if(b2>=c2&&b2>=j2) MAX2='B';
if(j2>b2&&j2>c2) MAX2='J';
cout<<p1.win<<" "<<p1.tie<<" "<<p1.lose<<endl;
cout<<p2.win<<" "<<p2.tie<<" "<<p2.lose<<endl;
cout<<MAX1<<" "<<MAX2;
return 0;
}