蓝桥杯试题 算法提高 林丹大战李宗伟 C/C++ | 您所在的位置:网站首页 › 林丹李宗伟打羽毛球 › 蓝桥杯试题 算法提高 林丹大战李宗伟 C/C++ |
试题 算法提高 林丹大战李宗伟
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 我们用0表示林丹,1表示李宗伟。 输入数据中每行会给出一个0或者1,表示对应选手得1分。 当一方得分达到21分时,只要该方与对方分差超过1分,该方即胜出。 你需要输出最后获胜选手的代号。 输入格式 若干行每行一个0或者1。 输出格式 一行一个0或者1表示胜者。 样例输入 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 样例输出 1 数据规模和约定 输入数据可能存在多余信息,选手需要在第一次出现胜者时马上输出。 读入可以使用while (cin >> x){},该代码块会在读入所有数据后执行完毕。 思路:依次记录两个人的分数,当达到二十一分时做比较,当一方领先超过一分可结束比赛,可以用两人的差取绝对值当达到二十一分且差大于一时可以结束,谁的分数大为谁获胜。 代码如下: #include #include using namespace std; int main(){ int lin,li,n,linscore=0,liscore=0,sumscore; while(cin>>n){ if(n==1){ liscore++; } else{ linscore++; } sumscore=linscore-liscore; if((linscore==21 || liscore==21) && fabs(sumscore)>1){ if(linscore>liscore){ cout |
CopyRight 2018-2019 实验室设备网 版权所有 |