#include<stdio.h>//请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 int change(char c)//布》石头》剪刀, { if(c==‘B‘) return 0;//甲胜平负,乙胜平负 if(c==‘C‘) return 1; if(c==‘J‘) return 2; } int main() { int N; char c1,c2; int time_A[3]={0}; int time_B[3]={0}; int tim_A[3]={0}; int tim_B[3]={0}; char m[3]={‘B‘,‘C‘,‘J‘}; scanf("%d",&N); for(int i=0;i<N;i++) { getchar();//这里是因为scanf使用%c时会将换行符\n读入,需要在合适的地方用getchar()吸收空格 scanf("%c %c",&c1,&c2); int k1=change(c1); int k2=change(c2); if((k1+1)%3==k2)//甲胜 { time_A[0]++; time_B[2]++; tim_A[k1]++; } else if(k1==k2) { time_A[1]++; time_B[1]++; } else { time_A[2]++; time_B[0]++; tim_B[k2]++; } } printf("%d %d %d\n",time_A[0],time_A[1],time_A[2]); printf("%d %d %d\n",time_B[0],time_B[1],time_B[2]); int id1=0,id2=0; for(int i=0;i<3;i++) { if(tim_A[i]>tim_A[id1]) id1=i; if(tim_B[i]>tim_B[id2]) id2=i; } printf("%c %c",m[id1],m[id2]); return 0; }