编程题
### 问题描述 小齐成为一名艺术家,正在创作以洞穴为主题的绘画!她当前的作品是一个高度为 $N$ 的网格,确保每行包含恰好 $M$ 个方块。每个方块可以是空白的、填充有岩石的,或者填充有水的。小齐已经绘制了包含岩石的方块,包括绘画的整个边框。现在,她想要在一些空白方块中填充水,以确保如果绘画是真实的,水就不会出现净流动。定义从顶部到第 $i$ 行的方块的高度为 $N+1-i$。小齐希望她的绘画满足以下约束条件: 假设方块 $a$ 被填充了水。那么如果存在一条路径从 $a$ 到方块 $b$,只使用高度不高于 $a$ 的空白或水方块,且路径上的相邻方块共享一边,那么方块 $b$ 也被填充水。 找出小齐可以制作的不同绘画数量,取模 $10^9+7$。 ### 输入格式 第一行包含两个用空格分隔的整数 $N$ 和 $M$。 接下来的 $N$ 行输入每行 $M$ 个字符。每个字符可以是 $.$ 或 #,表示空白方块和填充有岩石的方块。第一行和最后一行,以及第一列和最后一列只包含 #。 ### 输出格式 一个整数:满足约束条件的绘画数量取模 $10^9+7$。 ### 样例输入 ``` 4 9 ######### #...#...# #.#...#.# ######### ``` ### 样例输出 ``` 9 ``` ### 评测数据规模 $1 \leq N, M \leq 1000$。
查看答案
赣ICP备20007335号-2