400 : フィボナッチ木ゲーム

フィボナッチ木とは以下のように再帰的に定義された二分木のことである:

  • T(0)T(0)はノード(節点)を持たない木(空木)である

  • T(1)T(1)はノードを一つだけ持つ二分木である

  • T(k)T(k)T(k1)T(k-1)T(k2)T(k-2)を子ノードとして持つ根ノード(最上位にあるノード)からなる。

このような木構造上で二人の対局者がゲームをする。それぞれの局面で対局者はあるノードを選択し、そのノードを根とする部分木全体を削除する。 木全体の根ノードを強制的に取らされた対局者が敗者となる。

k=1k=1からk=6k=6までのT(k)T(k)に対し、最初の局面で先手必勝となる手は以下のようになる。(訳注:赤いノードで示されている)

T(k)T(k)の木構造上でゲームをした時、最初の局面で先手必勝となる(すなわち、後手が勝てる戦略がない)手の数をf(k)f(k)としよう。

例としてf(5)=1,f(10)=17f(5) = 1, f(10) = 17となる。

f(10000)f(10000)を求めよ。末尾18桁を回答として答えよ。

最終更新