锤子剪刀布
#include<cstdio> int zhuanhuan(char c) { if(c=='B') { return 0; } if(c=='C') { return 1; } if(c=='J') { return 2; } } int main() { char mp[3]={'B','C','J'}; int n; char ch1,ch2; int Temp1,Temp2; int hashTable_A[3]={0},hashTable_B[3]={0};//分别用来统计甲乙两个人胜、平,负的次数 int handTable_A[3]={0},handTable_B[3]={0};//分别用来统计甲乙获胜次数最多的手势 scanf("%d",&n); for(int i=0;i<n;i++) { getchar(); scanf("%c %c",&ch1,&ch2); Temp1=zhuanhuan(ch1); Temp2=zhuanhuan(ch2); if((Temp1+1)%3==Temp2)//甲赢 { hashTable_A[0]++;//甲胜的次数加1 hashTable_B[2]++;//乙负的次数加1 handTable_A[Temp1]++;//加靠Temp1手势赢的次数加1 } else if(Temp1==Temp2)//平局 { hashTable_A[1]++;//甲的平局次数加1 hashTable_B[1]++;//乙的平局次数加1 } else//乙赢 { hashTable_B[0]++;//乙赢的次数加1 hashTable_A[2]++;//甲负的次数加1 handTable_B[Temp2]++;//乙靠Temp2手势赢的次数加1 } } printf("%d %d %d\n",hashTable_A[0],hashTable_A[1],hashTable_A[2]); printf("%d %d %d\n",hashTable_B[0],hashTable_B[1],hashTable_B[2]); int id1=0,id2=0; for(int i=0;i<3;i++) { if(handTable_A[i]>handTable_A[id1]) { id1=i; } if(handTable_B[i]>handTable_B[id2]) { id2=i; } } printf("%c %c\n",mp[id1],mp[id2]); return 0; }