当前位置: 首页> 健康> 母婴 > 杭州软件测试培训班_建站宝盒小程序_百度查询最火的关键词_百度浏览器入口

杭州软件测试培训班_建站宝盒小程序_百度查询最火的关键词_百度浏览器入口

时间:2025/7/19 12:29:38来源:https://blog.csdn.net/qq_37231166/article/details/146053139 浏览次数:0次
杭州软件测试培训班_建站宝盒小程序_百度查询最火的关键词_百度浏览器入口

题目描述

Adrian 、Bruno 和 Goran 想加入鸟类爱好者俱乐部。然而,他们并不知道所有的申请者都必须通过加入俱乐部的考试。考试由 n 道题组成,每道题有三个可能的答案:AB 和 C

不幸的是,他们不能区分各种鸟类,所以他们试图猜测正确的答案。每一个男孩都有一套关于哪一种答案序列最有效的理论:

Adrian 声称最好的顺序是:ABCABCABCABC

Bruno 确信这样更好:BABCBABCBABC

Goran 嘲笑他们,并使用这个序列:CCAABBCCAABB

写一个程序,根据给出的正确答案,确定三个人中谁对的题目最多。

输入格式

第一行一个整数 n,表示考试的题目数量。

第二行一个长度为 n 的字符串(只包含ABC三种字符),表示考试的正确答案。

输出格式

第一行输出一个整数 m,表示三个人中做对题目最多的数量。

从第二行开始,输出答对题目数最多的人的名字(每行一个,按照字典序输出)

输入输出样例

输入 #1

5
BAACC

输出 #1

3
Bruno

输入 #2

9
AAAABBBBB

输出 #2

4
Adrian
Bruno
Goran

对于这题,通过观察每个人的答案规律,可以用0、1、2表示A、B、C,用余数表示各人的答案。

#include<bits/stdc++.h>using namespace std;int main(){int n;cin>>n;vector<int> ans(n, 0);vector<int> A(n), B(n), G(n);for(int i = 0;i<n;i++){char tmp;cin>>tmp;ans[i] = tmp-'A';A[i] = B[i] = G[i] = i;}int i = 0;int j = 0;int k = 0;for(int v = 0;v<n;v++){if(A[v]%3==ans[v]) i++;if(B[v]%2==0&&ans[v]==1) j++;if(B[v]%4==1&&ans[v]==0) j++;if(B[v]%4==3&&ans[v]==2) j++;if((G[v]%6==0||G[v]%6==1) && ans[v]==2) k++;if((G[v]%6==2||G[v]%6==3) && ans[v]==0) k++;if((G[v]%6==4||G[v]%6==5) && ans[v]==1) k++;        }int res = max(i, max(j, k));cout<<res<<endl;if(res==i) cout<<"Adrian"<<endl;if(res==j) cout<<"Bruno"<<endl;if(res==k) cout<<"Goran"<<endl;return 0;
}

关键字:杭州软件测试培训班_建站宝盒小程序_百度查询最火的关键词_百度浏览器入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: