#待字闺中#面试题--海枯石烂

题目:

两个玩家,一堆石头,假设多余100块,两人一次拿,最后拿光者赢。规则是:

1.第一个人不能第一次就拿光所有石头;

2.第一次拿了之后,每个人最多只能拿对方前一次拿的数目的两倍,最少拿一个

求:先拿着必胜的策略,若果有的话,怎么证明其正确性。

 

思路和解决办法:

1:两人轮流拿,先拿者每次拿一个,那么他就可以控制每一轮(两人分别拿一次)被拿走的数目为2或3。这样一直往后拿,只要剩余石头数目存在连续3个数目使得先拿者有必胜的策略,先拿者就可以赢.

2:从剩2个石头开始,往上倒推先拿者必胜的剩余石头数目:(a.此时轮到先拿者拿;b.假设最严格情况,即上一轮后拿者只拿了1个石头,此时先拿者本轮可拿石头范围为[1,2])

剩余数目:2       2   (先拿者可直接拿完)    先拿者必胜

必胜

 

剩余数目:3       1-2(若先拿者拿1个,后拿者拿2个)  后拿者赢

        2-1(若先拿者拿2个,后拿者拿1个)  后拿者赢

 

剩余数目:4   1-1-2               先拿者赢

必胜      1-2-1               先拿者赢

 

剩余数目:5   1-1-(剩余:3)          后拿者赢

        2-4                 后拿者赢

 

剩余数目:6   1-1-(剩余4)           先拿者赢

必胜      1-2-3               先拿者赢

 

剩余数目:7   2-1-(4)             先拿者赢

            2-2-3               先拿者赢

        2-3-2               先拿者赢

必胜      2-4-1               先拿者赢

 

剩余数目:8   1-2-(5)             后拿者赢

        1-2-2-3或1-2-3-2或1-2-4-1     后拿者赢

        2-1-(5)             后拿者赢

 

剩余数目:9   1-1-(7)             先拿者赢

必胜      1-2-(6)             先拿者赢

 

剩余数目:10   2-1-(7)             先拿者赢

        2-2-(6)             先拿者赢

        2-3-5                 先拿者赢

必胜      2-4-4               先拿者赢

 

剩余数目:11   1-1-(9)             先拿者赢

        1-2-

好吧,这个笨办法,写到这的时候我才觉得不靠谱。但若剩余石子数目超过100时有必胜策略,那么必然存在小于100的3个连续数都有必胜策略。

正确的办法参照陈利人微信:待字闺中

posted @ 2013-07-01 21:09  rcgn  阅读(593)  评论(0)    收藏  举报