样例输入 1
2 3
4 1
样例输出 1
Alice
样例输入 2
2 1
6 6
样例输出 2
Bob
解题思路
题目已知条件:
- Alice先手
- 每次只能从一堆中取走 k m ( k 为奇数 , m ≥ 0 ) k^m(k为奇数,m\geq0) km(k为奇数,m≥0)个饼干,所以每次取走的饼干数量一定是奇数。
- 取走最后一块饼干者获胜
在一个奇数堆中,由于每次取不超过总数的奇数个数的饼干,所以我们到最后取完的时候一定会取奇数次。
同理可得,在一个偶数堆中则是取偶数次。
Alice能否赢得游戏取决于所有堆的饼干数的奇偶性。如果所有堆的饼干数都是偶数,Bob会赢;如果至少有一堆的饼干数是奇数,Alice会赢。
代码:直接对2取余数
如果总饼干数为偶数,Bob赢;反之Alice赢。
n,k=map(int,input().split())
a=list(map(int,input().split()))
a_sum=sum(a)
if a_sum%2==0:
print('Bob')
else:
print('Alice')
https://www.lanqiao.cn/problems/3865/learning/?page=1&first_category_id=1&name=Alice%E5%92%8CBob%E7%9A%84%E7%88%B1%E6%81%A8%E6%83%85%E4%BB%87