loj#P3513. 「USACO 2021 US Open Platinum」Balanced Subsets

「USACO 2021 US Open Platinum」Balanced Subsets

题目描述

题目来自 USACO 2021 US Open Contest, Platinum Problem 3. Balanced Subsets

Farmer John 的草地可以被看作是由正方形方格组成的巨大的二维方阵(想象一个巨大的棋盘),对于每一个 1iN1\le i\le N1jN1\le j\le N,方格可以用有序对 (i,j)(i,j) 表示(1N1501\le N\le 150)。某些方格中含有草。

方格的一个非空子集被称为是「平衡的」,如果以下条件成立:

  1. 所有子集中的方格均含有草。
  2. 子集是四连通的。换句话说,从子集中的任一方格到另一方格均存在一条路径使得路径中的相邻方格均水平或竖直方向上相邻。
  3. 如果方格 (x1,y)(x_1,y)(x2,y)(x_2,y)x1x2x_1\le x_2)存在于子集中,那么所有满足 x1xx2x_1\le x\le x_2 的方格 (x,y)(x,y) 也存在于子集中。
  4. 如果方格 (x,y1)(x,y_1)(x,y2)(x,y_2)y1y2y_1\le y_2)存在于子集中,那么所有满足 y1yy2y_1\le y\le y_2 的方格 (x,y)(x,y) 也存在于子集中。

计算平衡的子集数量模 109+710^9+7 的结果。

输入格式

输入的第一行包含 NN

以下 NN 行每行包含一个长为 NN 的字符串。如果方格 (i,j)(i,j) 中有草,则第 ii 行的第 jj 个字符为 G,否则为 .

输出格式

输出平衡的子集数量模 109+710^9+7 的结果。

2
GG
GG

13

4
GGGG
GGGG
GG.G
GGGG

642

数据范围与提示

  • 测试点 1-4 满足 N4N\le 4
  • 测试点 5-10 满足 N20N\le 20
  • 测试点 11-20 没有额外限制。

供题:Benjamin Qi