leecode/daily/2019-07-15.md
2020-05-22 18:17:19 +08:00

50 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 每日一题 - 圆桌一先一后
### 信息卡片
- 时间: 2019-07-15
- 题目链接:暂无
- tag`逻辑思维`
### 题目描述:
```
考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?这种策略是什么?
```
### 参考答案
思路如下:
首先,谁有必胜机会?
假设硬币跟桌子一样大,必然是先手者胜,所以这题的第一问答案必然是先手必胜
再假设硬币的大小是圆桌的“微分”,一个硬币就一个点的大小,那么桌子上就可以放下∞个硬币,但是因为圆桌本身是个圆,而圆关于圆心对称,所以一定是奇数个点,多出来的这个点是作为对称中心的圆心,再次印证结论先手必胜。
必胜的策略,先手抢圆心,之后保持和对方放置的硬币关于圆心对称即可
### 扩展
**扩展一:**
有1996个棋子,两人轮流取棋子,每次允许取其中的2个,4个或8个,
谁最后取完棋子,就算获胜.那么先取的人为保证获胜,第一次应取几个棋子?
**参考答案:**
1. 1996这一类的问题其实1996和11992关系不大先记为M重要的是可选的{a,b,c...}这些选项
2. 将选项集合记为 K={a,b,c..}在对方报出A∈K后必有B∈K使得A+B = n * γn是正整数本题中γ为6
3. 确定好γ以后剩下要做的事情就是M对γ取余本题中M%γ=332余4
4. 4是{abc...}里的一个选项所以先手取4个棋子必胜
**扩展二:**
在一个4×5的棋盘中,甲,乙两人轮流往棋盘的方格中放棋子,甲先放第一枚棋子,乙只能在与这枚棋子的相邻的格内放棋子(相邻是指有公共边的两个格),甲再放时又必须在乙刚放的棋子的相邻的格内放,以后照此规则放,谁无法放棋子的时候谁失败,如果都按最佳方案,谁取胜?
**扩展三:**
上述的题目全部变成变量,然后用代码写出来
### 其他优秀解答
```
暂无
```