标题:约数倍数选卡片 闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可以拿的数字包括: 1,2,3, 6,12,18,24 .... 当轮到某一方拿 ...
分类:
其他好文 时间:
2019-05-20 22:47:58
阅读次数:
147
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可以拿的数字包括: 1,2,3, 6,12, ...
分类:
编程语言 时间:
2017-05-07 21:13:26
阅读次数:
219
思路: 搜索、博弈论。 实现的时候一个剪枝是从较大的数开始选,因为较大的数约数或倍数少一些,搜索的层数少。 还可以预处理出每个数的约数和倍数,这样搜索的时候不用扫描所有的数。 实现: 总结: 必败点:前一个选手将取胜的位置称为必败点。 必胜点:下一个选手将取胜的位置称为必胜点。 必胜点和必败点属性: ...
分类:
其他好文 时间:
2017-03-13 11:36:43
阅读次数:
518
闲暇时,福尔摩斯和华生玩一个游戏:
在N张卡片上写有N个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可以拿的数字包括:
1,2,3, 6,12,18,24 ....
当轮到某一方拿卡片时,没有满足要求的卡片可选,则该方为输方。
请你利用计算机的优势计算一下,在已知所有卡片上的数字和可选哪些数字的条件下,怎样选择才能保证必胜!
当选多个数字都可以必胜时,输出其中最小的数字。如果无论如何都会输,...
分类:
其他好文 时间:
2015-03-02 16:50:24
阅读次数:
292
闲暇时,福尔摩斯和华生玩一个游戏:
在N张卡片上写有N个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可以拿的数字包括:
1,2,3, 6,12,18,24 ....
当轮到某一方拿卡片时,没有满足要求的卡片可选,则该方为输方。
请你利用计算机的优势计算一下,在已知所有卡片上的数字和可选哪些数字的条件下,怎样选择才能保证必胜!
当选多个数字都可以必胜时,输出其中最小的数字。如果无论如何都会输,...
分类:
其他好文 时间:
2015-03-02 09:37:41
阅读次数:
513