Description:
有N粒石子,甲乙两人轮流从中拿取,一次至少拿一粒,至多拿先前对方一次所取石子数目的两倍。甲先拿,开始甲可以拿任意数目的石子(但不得拿完)。最先没有石子可拿的一方为败方。
请问,甲能否获胜?(1 < N < 100)
Analysis:
用一个简单例子分析:假设有N= 4粒石子,则一开始甲最多能取3粒,用(4,3)来表示初始状态。
如果一个状态没有子状态,是结局,则根据题目条件判定胜负
如果一个状态的所有子状态都是先手胜,则该状态是先手败
猜想:
甲必败: 2 3 5 8 ……
甲必胜: 4 6 7 ……
设{F}为Fibonacci数列(F1=2,F2=3,FK=FK-1+FK-2)
初始时有N粒石子,若N∈{F}则先手必败,否则先手必胜
Solution:(省略证明)
性质1:若K≥N,则状态(N,K)先手必胜。
性质2:若状态(N,N-1)先手必败,则状态(N,K)K< N 先手必败。(这里没怎么看明白,谁看懂了告诉我啊万分感激)
性质3:若状态(N,K)K< N,则最后一次取走的石子数目不超过2N/3。
结论1:状态(Fi,A) A < Fi 先手必败。
结论2:状态(N,N-1) N不属于{F}且N>2,先手必胜。
本文章转自pku报告,作者如有问题请联系我,一定配合删除