在 Python 中查找启动游戏的可能动作数量的程序
假设Amal和Bimal正在玩游戏。他们有n个装有一种或多种巧克力的容器。这些容器从1到N编号,其中第i个容器有count[i]个巧克力。现在的游戏就像。第一位玩家将选择一个容器并从中取出一个或多个巧克力。然后第二个玩家将选择一个非空容器并从中取出一个或多个巧克力,就像这样他们交替玩。当其中一名玩家无法拿走任何巧克力时,他/她就输掉了比赛。如果首先轮到Amal,我们必须找出Amal可以采取多少种方式先走,从而使他始终获胜。
因此,如果输入类似于count=[2,3],那么输出将为1,因为最初的容器类似于[2,3]。他们可以这样玩
Amal从第二个容器中取出一块巧克力,所以目前[2,2]
Bimal从第一个容器中取出一块巧克力,所以目前[1,2]
Amal从第二个容器中取出一块巧克力,所以目前[1,1]
Bimal从第一个容器中取出一块巧克力,所以目前[0,1]
示例
让我们看看以下实现以获得更好的理解-
def solve(count):
tmp = 0
for c in count:
tmp ^= c
if not tmp:
return 0
else:
moves = 0
for c in count:
moves += (tmp^c) < c
return moves
count = [2, 3]
print(solve(count))输入
[2, 3]输出结果
1
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短