代码实现
#include <bits/stdc++.h>
using namespace std;
int n;
unordered_map<char, char> mp = {{'C', 'B'}, {'B', 'J'}, {'J', 'C'}};
int jia, yi;
int main()
{
cin >> n;
map<char, int> jj, yy;
int MAX1 = 0, MAX2 = 0;
for (int i = 0; i < n; i++)
{
char c1, c2;
cin >> c1 >> c2;
if (c2 == mp[c1]) yi++, yy[c2]++, MAX2 = max(MAX2, yy[c2]);
else if (c1 == mp[c2]) jia++, jj[c1]++, MAX1 = max(MAX1, jj[c1]);
}
printf("%d %d %d\n", jia, n - jia - yi, yi);
printf("%d %d %d\n", yi, n - jia - yi, jia);
if (!jia) // 在没赢的情况下,输出出按字母序最小的解
cout << 'B' << ' ';
else
for (auto c : jj)
if (c.second == MAX1)
{
cout << c.first << ' ';
break;
}
if (!yi) // 在没赢的情况下,输出出按字母序最小的解
cout << 'B' << endl;
else
for (auto c : yy)
if (c.second == MAX2)
{
cout << c.first << endl;
break;
}
return 0;
}