URAl 1180

题目是说有N个石头,两人轮流取,每次能取的石头数目必须是2的幂,比如1,2,4,8等。谁取完谁取胜。判断哪个人能取胜,如果先手取胜的话,求出第一次最少取的石头数目。

可以用数学归纳法来证明:先手取胜当且仅当总数不是3的倍数
当总数为3的时候,A取完只能使石头数变为1或者2,先手必败
2的幂模3的结果只能为1或者2
无论A如何取,B总能取模3与A不同的数,使得两人取走的数是3的倍数。
因此,任何3的倍数都是必败局。
若不是3的倍数,则先手可以先取出总数模3数目的石头,使得剩下的石头数是3的倍数,这样B就面对着必败局,于是A取胜。

posted on 2008-01-24 20:51  woodfish  阅读(291)  评论(0编辑  收藏  举报

导航