← 完整题目索引

PROJECT EULER · #0993

香蕉海狸

Banana Beaver

仅题目 · 已解决原题 ↗

海狸在无限长的数轴上玩游戏。
游戏开始时,海狸位于 0 位置,携带 N 根香蕉,且数轴上没有其他香蕉。
在每一步中,海狸都会根据它在位置 xx+1 处看到的香蕉执行以下操作,其中 x 是海狸的当前位置:

  • 如果 x 处有一根香蕉,x+1 处有一根香蕉,那么海狸会在 x+1 位置拾起一根香蕉,然后移动到 x1 位置。
  • 如果x处有香蕉,但x+1处没有香蕉,那么它会拿起x处的香蕉,并将自身移动到位置x+2
  • 如果x处没有香蕉,但x+1处有香蕉,则它将把香蕉从位置x+1移动到位置x,并将自身移动到位置x+2
  • 如果 x 处没有香蕉且 x+1 处没有香蕉,则海狸检查它是否仍然携带至少三个香蕉。如果是,那么它将在三个位置 x1,x,x+1 中的每一个位置掉落一根香蕉,并将自身移动到位置 x2;否则游戏结束。

例如,如果 N3,则最后一条规则适用于起始位置,因此在 1 步骤之后,数轴上有 3 香蕉,位置为 1,0,1,海狸位于位置 2
类似地,如果 N5,那么在 5 步之后,数轴上有 5 香蕉,位置为 2,1,0,1,2,海狸位于位置 1

BB(N) 为游戏结束时海狸的位置(可以证明这总是会发生)。
您将获得 BB(1000)=1499

查找BB(1018)

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。