模拟题,注意答案要求字典序最小。
map<char,int> mpa,mpb;
int res[2][3];
int n;
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
char a,b;
cin>>a>>b;
if(a != b)
{
if(a == 'C')
{
if(b == 'J') res[0][0]++,res[1][2]++,mpa['C']++;
if(b == 'B') res[1][0]++,res[0][2]++,mpb['B']++;
}
else if(a == 'J')
{
if(b == 'B') res[0][0]++,res[1][2]++,mpa['J']++;
if(b == 'C') res[1][0]++,res[0][2]++,mpb['C']++;
}
else //a == 'B'
{
if(b == 'C') res[0][0]++,res[1][2]++,mpa['B']++;
if(b == 'J') res[1][0]++,res[0][2]++,mpb['J']++;
}
}
else res[0][1]++,res[1][1]++;
}
for(int i=0;i<2;i++,cout<<endl)
for(int j=0;j<3;j++)
{
if(j) cout<<' '<<res[i][j];
else cout<<res[i][j];
}
char maxapos='B';
for(map<char,int>::iterator it=mpa.begin();it!=mpa.end();it++)
if(it->second > mpa[maxapos])
maxapos=it->first;
char maxbpos='B';
for(map<char,int>::iterator it=mpb.begin();it!=mpb.end();it++)
if(it->second > mpb[maxbpos])
maxbpos=it->first;
cout<<maxapos<<' '<<maxbpos<<endl;
//system("pause");
return 0;
}