题目
思路:
我原本的想法是,只求甲的,那么乙的数据不就完全和甲相反吗?
但写出来发现不对。还是不能偷懒,只能罗列所有可能求。
应该有更简更优做法,不建议参考以下代码。
AC代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int awin=0,afal=0,bwin=0,bfal=0,ep=0;
int ac=0,ab=0,aj=0,bc=0,bb=0,bj=0;
char a[100100],b[100100];
for(int i=0;i<n;i++){
cin>>a[i]>>b[i];
if(a[i]=='C'){
if(b[i]=='J') {
awin++;
ac++;
bfal++;
}
else if(b[i]=='B') {
afal++;
bwin++;
bb++;
}
else ep++;
}
else if(a[i]=='J'){
if(b[i]=='B') {
awin++;
aj++;
bfal++;
}
else if(b[i]=='C'){
afal++;
bwin++;
bc++;
}
else ep++;
}
else {
if(b[i]=='C') {
awin++;
ab++;
bfal++;
}
else if(b[i]=='J') {
afal++;
bwin++;
bj++;
}
else ep++;
}
}
cout<<awin<<' '<<ep<<' '<<afal<<endl;
cout<<bwin<<' '<<ep<<' '<<bfal<<endl;
if(ab >= ac&& ab>= aj) cout<<'B';
else if(ac >= ab&&ac>=aj) cout<<'C';
else cout<<'J';
cout<<' ';
if(bb >= bc&& bb>= bj) cout<<'B';
else if(bc >= bb&&bc>=bj) cout<<'C';
else cout<<'J';
}```