#863. 子网格计数
子网格计数
题目描述
给定一个 行 列的网格。其中第 行第 列的格子的颜色由字符 给定:如果 为 #,表示该格子被涂成黑色;如果 为 .,表示该格子被涂成白色。
你需要从这个网格中截取一个 行 列的区域。请问总共可以得到多少种不同的染色图案?(如果两个图案对应位置的格子颜色完全相同,则视为同一种图案。)
输入格式
第一行包含两个整数 —— 分别表示原网格的大小和截取区域的大小。
接下来 行,每行包含一个长度为 的字符串,其中第 行的第 个字符 表示相应格子的颜色。
输出格式
输出一行,一个整数,表示能够得到的不同的染色图案数量。
样例输入 1
3 2
...
###
#.#
样例输出 1
3
样例输入 2
10 3
..#.......
.###......
.#.#......
#####.....
#...#.....
......####
......#..#
......#...
......#..#
......####
样例输出 2
36
说明
样例解释
在第一个样例中,可以从 的网格中截取出 个 的区域:

在这 种截取结果中,左上角和右上角的区域图案是相同的,因此总共有 种不同的染色图案。
数据范围
- 对于所有测试点,保证 。
- 保证所有的 均为
.或#。