#P15540. [nordic2018]Nordic Camping
[nordic2018]Nordic Camping
题目背景
在北欧高地露营时,拥有可靠的水源有时事关生死。传统上,北欧露营者会把帐篷搭在水源上方,这样就可以不用走出帐篷也能取水。还有一个奇怪的传统是:他们只使用正方形帐篷。
题目描述
高地上的营地可以被看作一个 的网格。Jon 已经调查了营地中所有可用或不可用的位置。网格中的每个格子要么是平坦可用的,要么是崎岖不可用的。
现在给定若干个水源位置。对于每个水源位置,你需要求出:能够完全搭在平坦可用格子上,并且覆盖该水源格子的最大正方形帐篷的面积。
帐篷必须与网格对齐,不能只覆盖某个格子的一部分。对于一个格子,帐篷要么完整覆盖它,要么完全不覆盖它。
输入格式
第一行包含两个整数 ,表示网格的行数和列数。
接下来 行,每行一个长度为 的字符串,表示网格:
.表示平坦可用的格子;#表示崎岖不可用的格子。
接下来一行包含一个整数 ,表示询问的水源个数。
接下来 行,每行两个整数 ,表示一个水源位于第 行第 列。
输出格式
对于每个水源,按照输入顺序输出一行一个整数,表示能够覆盖该水源的最大正方形帐篷的面积。
样例输入
3 3
#..
...
.##
2
1 3
2 1
样例输出
4
1
数据范围与子任务
记 为网格中不可用格子 # 的个数。
| 子任务 | 分值 | 限制 |
|---|---|---|
| 1 | 20 | , |
| 2 | 25 | ,, |
| 3 | 20 | ,, |
| 4 | 35 | ,, |