0
已解决
0
已采纳
一道优秀的阶梯Nim+SG定理。
首先,我们在整个序列前面加上一个空格(设此时空格个数为C+1C+1),然后从右到左将所有空格编号为00至CC。令第ii级阶梯上的棋子数为编号为ii的空格右边的连续棋子个数。
以下用■表示棋子,□表示空格。则对于这个场景:
(□)□■□□□□□□□□□□□□□□□□■■(样例第一组数据)
有第00至1717级阶梯(容易数出有1818个空格)棋子个数分别是\{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0\}{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}。
将一个棋子移至右边第一个空格时,相当于将其与其右边相邻的所有棋子移到下一级阶梯。如这样:
(□)□■□□□□□□□□□□□□□□□□■■变成
(□)□□■□□□□□□□□□□□□□□□■■时相当于
\{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0\}{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}变成
\{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0\}{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0}(第1616层一颗棋子下移一级阶梯),又如:
(□)■■■□□■变成
(□)■□■■□■时相当于
\{1,0,3\}{1,0,3}变成
\{1,2,1\}{1,2,1}(第22层两颗棋子下移一级阶梯)。
我们发现,当所有棋子都在第00级阶梯时,先手无法操作,必败。
这不是典型的阶梯Nim吗?
0
0