codeforces 1472 D. Even-Odd Game Python

codeforces 1472 D. Even-Odd Game Python

传送门
在这里插入图片描述

题意:
Alice和Bob玩游戏,在一组数列里面任意抽取一个数,Alice先抽,若为偶数(even)则Alice的分数加上这个偶数,若为奇数(odd)则不加分,而Bob刚好相反,抽到奇数加分,偶数不加分。在两人都积极参与的情况下,所有数字抽完,谁分数高谁赢,若分数相同,则输出‘Tie’(平局)

解题思路
积极参与就是一个坑。
我的思路是将数组排序,每次都抽最大的那个数,在看人加分或者不加(毕竟拿走这个数对方也加不了)

解答:
这不简简单单?

for _ in range(int(input())):
    n=int(input())
    an=list(map(int,input().split()))
    an.sort()
    alice=0
    bob=0
    for i in range(n):
        if i%2==0:#alice get
            if an[-1]%2==0:
                alice+=an[-1]
            an.pop(-1)
        else:
            if an[-1]%2==1:
                bob+=an[-1]
            an.pop(-1)
    if alice>bob:
        print('Alice')
    elif alice<bob:
        print('Bob')
    else:
        print('Tie')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值