简单直接的方法
#include<iostream>
#include<valarray>
using namespace std;
int result(char a,char b){
if(a==b)return 0;
if((('B'==a)&&('C'==b))||
(('C'==a)&&('J'==b))||
(('J'==a)&&('B'==b)))
return 1;
else return -1;
}
char gesture(valarray<int>&p){
int tmp=p.max();
if(p['B']==tmp)return 'B';
if(p['C']==tmp)return 'C';
return 'J';
}
int main(){
int win=0,lose=0,draw=0;
valarray<int> a(0,256),b(0,256);
int n;cin>>n;
while(n--){
int tmp;
char ga,gb;
cin>>ga>>gb;
if(!(tmp=result(ga,gb)))
++draw;
else if(tmp>0){
++win;++a[ga];}
else{
++lose;++b[gb];}
}
cout<<win<<' '<<draw<<' '<<lose<<endl;
cout<<lose<<' '<<draw<<' '<<win<<endl;
cout<<gesture(a)<<' '<<gesture(b);
return 0;}