给定一个包含M行和N列的部分填充网格,您需要计算有多少种方式在某种方式下填充网格的剩余部分,并输出其中一个方法(如果有的话)。
网格中的每个单元格都应该着色为黑色或白色。网格中的所有黑色单元格、网格中的所有白色单元格都应当互相连通(如果两个单元格上下左右相邻,那么视为两者之间有一条边)
下面显示了两个填充的网格,右边那个图满足连通的条件,左边那个不满足。

除此之外,在任意的2×2的子网格中不允许全是黑色或者全是白色。
左下图显示了一个由黑色和白色2×2块组成的网格,而右下图的网格不包含这样的2×2块

对于那些指定了颜色的网格,你不能修改它们,对于那么没有指定颜色的网格,你必须指定黑色/白色,不能不指定颜色