作者babufong (哔哔)
看板puzzle
标题[中译] ProjectEuler 366 Stone Game III
时间Sun Jan 8 14:38:08 2012
366. Stone Game III
http://projecteuler.net/problem=366
有两个玩家,Anton 和 Bernhard,在玩一场游戏。
这里有一堆石头,共 n 颗。
第一位玩家可以拿掉任何数量的石头,但不能整堆拿走。
再来,每位玩家拿的石头数量上限就是「对手最後拿取的数量 X 2」。
谁拿走最後一颗石头,谁就获胜。
举个例子来说,这堆石头有 5 颗。
如果第一位玩家拿了超过 1 颗石头(2,3,4),第二位玩家都能马上拿走所有石头并获胜。
如果第一位玩家拿 1 颗,留下 4 颗,第二位玩家也拿 1 颗,留下 3 颗。
又换第一位玩家,但他至多只能拿 2 颗,所以不论拿 1 或 2 颗,第二位玩家都能获胜。
所以 n = 5 是第一位玩家的必败型。
有些必胜型对於第一位玩家有超过一种拿法,比如说 n = 17,可以先拿 1 或 4 颗。
使 M(n) 为必胜型中,第一位玩家第一步可拿取的石头最大数量,而 M(n) = 0为必败型。
ΣM(n),n ≦ 100,答案是 728。
请算出 ΣM(n),n ≦ 10^18 後再 mod 10^8 给出答案。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.224.4.237
1F:推 lighttodie:又是很酷的题目 01/08 17:19
2F:推 LPH66:56名...因为要解准一个精确度问题所以慢了 QAQ 01/08 20:00
3F:→ LPH66: 解决 (我在打什麽...) 01/08 20:00