代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char Hash[3][3];
int ans[3];
int main()
{
int n,i,j;
for(i=0;i<3;i++)
{
Hash[i][i]=1;
}
Hash[0][1]=0;//甲胜
Hash[0][2]=2;
Hash[1][0]=2;
Hash[1][2]=0;
Hash[2][0]=0;
Hash[2][1]=2;
while(scanf("%d",&n)==1)
{
getchar();
memset(ans,0,sizeof(ans));
int x[3]={0};
int l[3]={0};
for(i=0;i<n;i++)
{
char c1,c2;
int a,b;
scanf("%c%*c%c%*c",&c1,&c2);
if(c1=='C')
a=0;
if(c1=='J')
a=1;
if(c1=='B')
a=2;
if(c2=='C')
b=0;
if(c2=='J')
b=1;
if(c2=='B')
b=2;
ans[Hash[a][b]]++;
if(Hash[a][b]==0)
{
if(a==0)
x[0]++;
if(a==1)
x[1]++;
if(a==2)
x[2]++;
}
if(Hash[a][b]==2)
{
if(b==0)
l[0]++;
if(b==1)
l[1]++;
if(b==2)
l[2]++;
}
}
for(i=0;i<3;i++)
{
if(i==2)
printf("%d\n",ans[i]);
else
printf("%d ",ans[i]);
}
for(i=2;i>=0;i--)
{
if(i==0)
printf("%d\n",ans[i]);
else
printf("%d ",ans[i]);
}
int max=-1;
for(i=0;i<3;i++)
{
if(x[i]>max)
{
max=x[i];
j=i;
}
}
if(j==0)
{
if(x[2]<max)
printf("C ");
else
printf("B ");
}
if(j==1)
{
if(x[2]==max)
printf("B ");
else if(x[0]==max)
printf("C ");
else
printf("J ");
}
if(j==2)
printf("B ");
max=-1;
for(i=0;i<3;i++)
{
if(l[i]>max)
{
max=l[i];
j=i;
}
}
if(j==0)
{
if(l[2]<max)
printf("C\n");
else
printf("B\n");
}
if(j==1)
{
if(l[2]==max)
printf("B\n");
else if(l[0]==max)
printf("C\n");
else
printf("J\n");
}
if(j==2)
printf("B\n");
}
return 0;
}