题目链接
测试点1,2,4考察的应该是起始的位置,不应该是从A开始要从B开始
#include<iostream>
using namespace std;
struct node//保存两个人信息
{
int cntw=0;
int cntl=0;
int cntm=0;
int k[128]={0};
};
//找到最小的并返回字符
char choice(node a){
int index=0;
int Max=-999;
//这里从A开始就错了
for(int i='B';i<='Z';i++){
if(a.k[i]>Max){
Max=a.k[i];
index=i;
}
}
return (char)index;
}
int judge(char a,char b)
{
if(a=='C')
{
if(b=='C'){
return 0;
}
else if(b=='J'){
return 1;
}
else{
return -1;
}
}
else if(a=='J')
{
if(b=='C'){
return -1;
}
else if(b=='J'){
return 0;
}
else{
return 1;
}
}
else if(a=='B')
{
if(b=='C'){
return 1;
}
else if(b=='J'){
return -1;
}
else{
return 0;
}
}
}
int main()
{
int n;
node a,b;
cin>>n;
for(int i=0;i<n;i++){
char ta,tb;
cin>>ta>>tb;
int k=judge(ta,tb);
if(k==1)
{
a.cntw++;
b.cntl++;
a.k[ta]++;
}
else if(k==-1){
b.cntw++;
a.cntl++;
b.k[tb]++;
}
else if(k==0){
a.cntm++;
b.cntm++;
}
}
cout<<a.cntw<<" "<<a.cntm<<" "<<a.cntl<<endl;
cout<<b.cntw<<" "<<b.cntm<<" "<<b.cntl<<endl;
cout<<choice(a)<<" "<<choice(b);
return 0;
}