python【蓝桥杯vip练习题库】ADV-236林丹大战李宗伟

试题 算法提高 林丹大战李宗伟

资源限制
时间限制: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){},该代码块会在读入所有数据后执行完毕。
我实在不知道python里 while(cin>>x)怎么表示了
所以有两个样例没过

"""
@Author:Lixiang

@Blog(个人博客地址): https://lixiang007.top/

@WeChat:18845312866

"""
import math
import string
import sys
from itertools import permutations
import cmath
d,w=0,0
while True:
    x=input()
    if x==0:
        d+=1
    else:
        w+=1
    if d>=21 and w<d-1:
        print(0)
        break
    elif w>=21 and d<w-1:
        print(1)
        break

你可能感兴趣的:(算法)