今天下午和阿临在Berkeley Espresso里喝咖啡,这是候有一个爷爷过来问我可不可以教他说一些中文,然后掏出了一本三国演义照着读,上面做了密密麻麻的笔记。教了一会以后,老爷爷问我要不要和他做一个游戏,我答应了。
游戏规则
给定三行硬币,这三行硬币个数分别为3,4,5
如图所示
0 0 0
0 0 0 0
0 0 0 0 0
我们可以每次从一行中拿任意个数的硬币,但是不可以跨行拿(比如从第一行和第二行各拿一个),谁拿走最后一个硬币,谁输
游戏经历
刚开始,我发现我一直在输,前十盘只赢了一场,而且也不知道为什么会赢。但是,继续玩下去以后,我的数学竞赛之魂开始燃烧,感觉就是一个简单组合数学题目。在玩的过程中,我发现有几种情形是必输的
## 轮到我的必输场景
# case 1
0
0 0
0 0 0
# case 2
0 ... 0
0 ... 0
两行一样个数(>1)的硬币
# case 3
0
0
0
## 如果我留给对面这种场景,则必输
# case 1
0
0 ... 0
这几种case都非常容易证明,简单说明一下两行一样个数的硬币的情况
# case 1
0
0 #这种必赢
# case 2
0 0
0 0 # WLOG,假设我从第一行拿,那么有两种情况。如果我拿一个,
对方可以把第二行拿完;如果我拿两个,对方可以只拿一个。
# case 3
0 0 0
0 0 0 # WLOG,假设我从第一行拿,如果我拿一个,对方可以从第二行拿一个,
回归到case 2. 如果我拿两个,对方可以把第二行全拿完. 如果我拿完,对方
可以在第二行拿两个. 其他case相同
必胜策略
先选的人必胜,并且第一步只可以从第一行(三个的那一行)选两个。
原因如下:
# 如果从第二行拿
如果我拿两个,对方可以在第三行拿四个,回归到必输场景case 1
如果我拿三个,对方可以在第三行拿三个,回归到必输场景case 1
如果我拿四个,对方可以从第三行拿两个,回归到必输场景case 2
如果我拿一个, 对方可以从第三行拿五个,回归到必输场景case 2
# 如果从第三行拿
与上面类似
# 如果从第一行拿
## 如果拿一个
对方从第一行拿一个,现在变成
0
0 0 0 0
0 0 0 0 0
我不能从第二行拿,因为这样对方可以将场景变成case 1 or case 2
同理,我也不能从第二行拿
那么我只能从第一行拿
0 0 0 0
0 0 0 0 0
对手从第三行拿一个,回归到case 2
## 如果拿两个
将我转换为对手视角,从上面的讨论,我必胜
## 如果拿三个
对手从第三行拿一个,回归到case 2
当我意识到这些以后,就已经必胜了。老爷爷连输了几次也意识到没有必要继续玩下去,所以就放我走了,我当即写下这篇文章
图片
好久没遇到这类小游戏了,我也好久没有碰高中数学竞赛的内容(平面几何、代数、数论、组合数学)了。当然,我现在的学习还是会用到后三个,只不过不像数学竞赛那么有巧思了。总之,还是很感谢老爷爷和我的“摄影师”
祝大家圣诞节快乐!!