锤子剪刀布

来源:互联网 发布:听戏曲的软件 编辑:程序博客网 时间:2024/04/30 10:24
/*
输入格式:


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


输出格式:


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


#include<iostream>
using namespace std;


int main()
{


int N;
cin>>N;
char *a=new char[N];
char *b=new char[N];


int x=0,y=0,z=0;
int ac=0,aj=0,ab=0;
int bc=0,bj=0,bb=0;


for(int i=0;i<N;i++)
{
cin>>a[i]>>b[i];
}


for(int i=0;i<N;i++)
{
if(a[i]=='C'&&b[i]=='J'){x++;ac++;}
else if(a[i]=='C'&&b[i]=='B'){y++;bb++;}
else if(a[i]=='J'&&b[i]=='B'){x++;aj++;}
else if(a[i]=='J'&&b[i]=='C'){y++;bc++;}
else if(a[i]=='B'&&b[i]=='J'){y++;bj++;}
else if(a[i]=='B'&&b[i]=='C'){x++;bc++;}
else z++;

}







cout<<"甲的"<<x<<" "<<y<<" "<<z<<endl;
cout<<"乙的"<<y<<" "<<x<<" "<<z<<endl;




int max=0,may=0;
if(ac>=ab) max=ac;
if(ab>=max) max=ab;
if(aj>=max)max=aj;


if(max==aj)cout<<"J";
if(max==ab)cout<<"B";
if(max==ac)cout<<"C";




if(bc>=bb) max=bc;
if(bb>=max) may=bb;
if(bj>=may)may=bj;


if(may==bj)cout<<"J";
if(may==bb)cout<<"B";
if(may==bc)cout<<"C";








return 0;
}