资源限制
时间限制: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){},该代码块会在读入所有数据后执行完毕。
分析:题目不难,就是有点小细节,计数表示为>=21,然后算出结果要立即break
#include <iostream>
using namespace std;
int main()
{
int m,sum1=0,sum2=0;
while(cin>>m)
{
if(m==0)
sum1++;
else
sum2++;
if(sum1>=21&&sum1-sum2>1)
{
cout<<0<<endl;
break;
}
if(sum2>=21&&sum2-sum1>1)
{
cout<<1<<endl;
break;
}
}
return 0;
}