023 - Avoid War(★7) Editorial /

Time Limit: 8 sec / Memory Limit: 2048 MB

配点: 7

問題文

H マス、横 W マスからなるグリッドがあり、上から i 行目・左から j 列目のマスを (i,j) で表します。 各マスには色が塗られており、マス (i,j) の色は C_{i,j}# のとき黒、C_{i,j}. のとき白です。

あなたはいくつかの白マスを選び(1 つも選ばなくても良い)、キングの駒を置きます。 キング同士が互いに攻撃し合わない(後述)ような置き方の数を、10^9+7 で割った余りを求めてください。

ただし、ある 2 つの置き方が異なるとは、 「ある白マスが存在して、片方ではキングが置かれており、もう片方では置かれていない」 ことを言います。

「キング同士が互いに攻撃し合わない」とは キングが置かれている任意の異なる 2 マス (i,j) および (k,l) において、 |i-k|>1 または |j-l|>1 が成り立つことを言います。

制約

  • 1 \leq H,W \leq 24
  • H,W は整数
  • C_{i,j}# または .
  • 少なくとも 1 つの白マスが存在する

小課題

  1. (1 点) 1 \leq H,W \leq 4
  2. (1 点) 1 \leq H,W \leq 9
  3. (2 点) 1 \leq H,W \leq 17
  4. (3 点) 追加の制約はない。

入力

入力は以下の形式で標準入力から与えられます。

H W
C_{1,1}\cdots C_{1,W}
\vdots
C_{H,1}\cdots C_{H,W}

出力

条件を満たす置き方の数を、10^9+7 で割った余りを出力してください。


入力例 1

1 3
...

出力例 1

5

以下の 5 通りがあります。( o はキングを置いたマスを表します。)

...     o..     .o.     ..o     o.o

これは小課題 1,2,3,4 の制約を満たします。


入力例 2

3 3
.#.
#..
.##

出力例 2

13

以下の 13 通りがあります。( o はキングを置いたマスを表します。)

.#.     o#.     .#o     .#.     .#.     .#.     o#o
#..     #..     #..     #o.     #.o     #..     #..
.##     .##     .##     .##     .##     o##     .##

o#.     o#.     .#o     .#.     o#o     o#.
#.o     #..     #..     #.o     #..     #.o
.##     o##     o##     o##     o##     o##

これは小課題 1,2,3,4 の制約を満たします。


入力例 3

8 9
######.##
####..##.
..#...#..
###...###
#....##.#
.##......
#.####..#
#.#######

出力例 3

273768

これは小課題 2,3,4 の制約を満たします。


入力例 4

17 17
.####...#.....#.#
.#....#.#####...#
#...##.##...#..##
..#..####..#...##
.#..#..#.#.##...#
.#.#.#...#.##..#.
#...#..#..##..###
###.#..###..###..
...#.##.##.#....#
..####....#.#...#
.##...##.#.#...#.
..########...###.
#..##....#.......
##.##..###.#.##..
.##....#........#
....#####..##.#..
.###...##..##.#..

出力例 4

314465173

10^9+7 で割った余りを出力してください。

これは小課題 3,4 の制約を満たします。


入力例 5

22 18
.##.##.#.#.#...##.
####.#..###.#.#..#
#####.##...##.###.
...#.#.#.##.##.###
..#.##.#.#....#...
#.###.##....###..#
....#####...#...#.
.#..##..#..###....
....#..##.#.#..#.#
###.#.....#..##.#.
#..#..#.#.##..###.
#...#....##..###..
..#...#..###..##..
.#....#.#.#..###.#
##.#.#..#..###..##
....###.##.##.##..
#...####.#.#..##..
..#.###.###.###.##
#...##.#.#.#...#.#
#..###..########..
#.##.#####.#..#.##
#..#........#...#.

出力例 5

47296634

これは小課題 4 の制約を満たします。


Source Name

「競プロ典型90問」23日目