#874. 加湿器
加湿器
题目描述
公司的办公室可以表示为一个 行 列的网格。记从上往下数第 行、从左往右数第 列的格子为 。
每个格子的状态由字符 表示:如果 是 #,表示该格子放置了一张桌子;如果 是 .,表示该格子是地板。题目保证网格中至少存在两个地板格子。
你需要选择两个不同的地板格子,并在每个格子上各放置一台加湿器。
放置加湿器后,一个格子 能够被加湿,当且仅当它与至少一台加湿器所在的格子 之间的曼哈顿距离不超过 。格子 和 之间的曼哈顿距离定义为 。注意,放置了加湿器的地板格子本身也总是会被加湿。
请问,最多能有多少个地板格子被加湿?
输入格式
第一行包含三个整数 和 —— 分别表示网格的行数、列数以及加湿器的有效曼哈顿距离。
接下来 行,每行包含一个长度为 的字符串。其中第 行的第 个字符 表示格子 的状态。
输出格式
输出一行,一个整数,表示最多能够被加湿的地板格子的数量。
样例输入 1
2 5 1
.###.
.#.##
样例输出 1
3
样例输入 2
5 5 2
.#.#.
.....
.#.#.
#.#.#
.....
样例输出 2
15
样例输入 3
4 4 2
....
.##.
.##.
....
样例输出 3
10
说明
样例解释
在第一个样例中,如果在 和 处放置加湿器:
- 由 处的加湿器, 和 这两个地板格子会被加湿。
- 由 处的加湿器, 这个地板格子会被加湿。
总共有 个地板格子被加湿。没有任何一种放置方案能够加湿 个或更多的地板格子,因此答案为 。
在第二个样例中,如果在 和 处放置加湿器,将会有 个地板格子被加湿。
数据范围
对于所有测试点,保证:
- 。
- 。
- 。
- 保证 均为
#或.(,)。 - 保证至少存在两个状态为
.的格子。 - 保证所有的输入数值均为整数。