BoB005-H: Solo Bingo Game

2 secs 1024 MB
kyaneko999's icon kyaneko999

解説

盤面 SS が与えられた時の遷移の仕方が f(S)f(S) 通りであるとすると,以下が成り立ちます.
 

  • SS が【終了条件】を満たす時,f(S)=1f(S)=1
  • SS が【終了条件】を満たさない時,SS の空きマスに石を 11 つ置くことで遷移する可能性がある盤面を S1,S2,,SkS_1,S_2,\dots,S_k とすると f(S)=i=1kf(Si)f(S)=\displaystyle\sum_{i=1}^{k}f(S_i)

以上を再帰関数によって実装すれば良いです.盤面の状態は配列や 22 進数を用いて管理することができます.

解答例(Python)