统计胜负平的情况,然后统计胜率最高的手势。
所以需要记录胜出的手势。
1.首先创造一个判胜负的函数,返回1,0,-1 分别代表胜 平 负 。
2.根据胜负的关系,同时记录胜利者的手势,用数组记录。
#include
using namespace std;
int A[3],B[3];
int com(char a,char b)
{
if(a==b) return 0;
if(a=='J'&&b=='B') return 1;
if(a=='B'&&b=='C') return 1;
if(a=='C'&&b=='J') return 1;
else return -1;
}
int main()
{
int n;
cin >> n;
getchar();
char a,b;
int ping=0;
for(int i=0;i<n;i++)
{
scanf("%c %c",&a,&b);
if(com(a,b)==0)
{
ping++;
getchar();
continue;
}else if(com(a,b)==1)
{
if(a=='B') A[0]++;
if(a=='C') A[1]++;
if(a=='J') A[2]++;
}else{
if(b=='B') B[0]++;
if(b=='C') B[1]++;
if(b=='J') B[2]++;
}
getchar();
}
printf("%d %d %d\n",A[0]+A[1]+A[2],ping,B[0]+B[1]+B[2]);
printf("%d %d %d\n",B[0]+B[1]+B[2],ping,A[0]+A[1]+A[2]);
int index=0;
for(int i=0;i<3;i++)
{
if(A[i]>A[index])
{
index = i;
}
}
if(index==0) printf("B");
if(index==1) printf("C");
if(index==2) printf("J");
index = 0;
for(int i=0;i<3;i++)
{
if(B[i]>B[index])
{
index = i;
}
}
if(index==0) printf(" B");
if(index==1) printf(" C");
if(index==2) printf(" J");
return 0;
}