시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
4 초 | 512 MB | 14 | 12 | 12 | 85.714% |
JOI 君は,縦に 3 マス,横に N マスの方眼状のボードと,いくつかのコマを使ってゲームをしている. ゲームの初期状態において,1 個以上のマスにはコマが置かれており,また,1 個以上のマスにはコマが置 かれていない.
このゲームの目的は,コマの置かれていないマスにコマを 1 個ずつ置いていくことで,ボード上のすべ てのマスにコマが置かれた状態にすることである.ただし,あるマスにコマを置ける条件は,以下のいず れかが満たされることである.
JOI 君はゲームの初期状態から始めて,目的を達成するまでにコマを置いていく順番が全部で何通りあ るのかが気になった.ただしこの値は非常に大きくなることがある.
あなたの課題は,JOI 君の代わりに,ゲームの初期状態から目的を達成するまでにコマを置いていく順 番の個数を 1 000 000 007 で割った余りを求めることである.
ゲームの初期状態が与えられたとき,目的を達成するまでにコマを置いていく順番の個数を 1 000 000 007 で割った余りを求めるプログラムを作成せよ.
標準入力から以下のデータを読み込め.
標準出力に,目的を達成するまでにコマを置いていく順番の個数を 1 000 000 007 で割った余りを 1 行で 出力せよ.
追加の制約はない.
3 oxo xxo oxo
14
この入力例では,ゲームの初期状態は以下の通りである (コマの置かれたマスを○で表す).
次のいずれかの表に従ってコマを置いていくことで,目的を達成することができる (番号はコマを置い ていく順番を表す).
目的を達成する順番はこれらの 14 通りのみであるので,14 を出力する.
10 ooxooxoxoo xooxxxoxxx oxoxoooooo
149022720
10 ooxoxxoxoo oxxxxxoxxx oxooxoxoxo
0
ゲームの初期状態によっては,目的を達成できないこともある.
20 oxooxoxooxoxooxoxoxo oxxxoxoxxxooxxxxxoox oxooxoxooxooxooxoxoo
228518545