题目链接:点击打开链接
知识点笔记:
1.将字符的比较转换成数字的比较
2.用getchar()吸收空格
AC代码:
#include <iostream>
using namespace std;
int change(char c){
if(c=='B') return 0;
if(c=='C') return 1;
if(c=='J') return 2;
}
int main(){
int N;
scanf("%d",&N);
char mp[3]={'B','C','J'};
int timesA[3]={0};
int timesB[3]={0};
int handA[3]={0};
int handB[3]={0};
char c1,c2;
int k1,k2;
for(int i=0;i<N;i++){
getchar();
scanf("%c %c",&c1,&c2);
k1=change(c1);
k2=change(c2);
if((k1+1)%3==k2){
timesA[0]++;
timesB[2]++;
handA[k1]++;
}else if((k2+1)%3==k1){
timesA[2]++;
timesB[0]++;
handB[k2]++;
}else{
timesA[1]++;
timesB[1]++;
}
}
printf("%d %d %d\n",timesA[0],timesA[1],timesA[2]);
printf("%d %d %d\n",timesB[0],timesB[1],timesB[2]);
int id1=0,id2=0;
for(int i=0;i<3;i++){
if(handA[i]>handA[id1]) id1=i;
if(handB[i]>handB[id2]) id2=i;
}
printf("%c %c",mp[id1],mp[id2]);
return 0;
}