malic 竞赛05 A- 摆仙果 2019-03-19

Adrian, Bruno与Goran三人参加了仙界的宴会,宴会开始之前先准备了一些仙果供三人品尝,但是仙果的摆放有顺序要求,如果把仙果摆错了位置,仙果就会消失而无法品尝到。
由于三人是第一次来仙界,也不知道究竟是怎样的摆放方法,它们就按自己的想法摆放仙果。假设仙果种类共有3种,分别记为A,B,C,那么三人的摆放方法分别为
Adrian采用ABCABCABC...的排列方式
Bruno采用BABCBABCBABC...的排列方式
Goran采用CCAABBCCAABB...的排列方式
现在告诉你正确的仙果的摆放方式,请你算一下谁能吃到的仙果最多

数据输入
第1行有一个整数N,表示共有N个仙果。第2行有N个仅由ABC组成的字符,表示仙果正确的摆放位置。

1 ≤N≤100
数据输出
第1行输出一个整数,代表一个人最多有几个仙果摆放正确。接下来的行中,输出摆放仙果数最多的人名,若有多人都摆放对了最多数量的仙果,则按字典序在每行中输出1个名字

样例1
输入样例
5
BAACC
输出样例
3
Bruno
样例2
输入样例
9
AAAABBBBB
输出样例
4
Adrian
Bruno
Goran

'''

include

include

using namespace std;

int main()
{
string name[3]={"Adrian","Bruno","Goran"};
int n;
string sample;
int count[3];
for(int i=0;i<3;i++){
count[i]=0;
}

int max=0;
cin>>n>>sample;
string temp1,temp2,temp3;
for(int i=0;i if(i%3==0){
temp1=temp1+'A';
}
if(i%3==1){
temp1=temp1+'B';
}
if(i%3==2){
temp1=temp1+'C';
}
if(i%2==0){
temp2=temp2+'B';
}
if(i%4==1){
temp2=temp2+'A';
}
if(i%4==3){
temp2=temp2+'C';
}
if(i%6==1||i%6==0){
temp3=temp3+'C';
}
if(i%6==2||i%6==3){
temp3=temp3+'A';
}
if(i%6==4||i%6==5){
temp3=temp3+'B';
}
}
for(int i=0;i if(sample[i]==temp1[i]){
count[0]++;
}
if(sample[i]==temp2[i]){
count[1]++;
}
if(sample[i]==temp3[i]){
count[2]++;
}
}
for(int i=0;i<3;i++){
if(count[i]>max){
max=count[i];
}
}
cout< for(int i=0;i<3;i++){
if(count[i]==max){
cout< }
}

}
'''

你可能感兴趣的:(malic 竞赛05 A- 摆仙果 2019-03-19)