[Usaco2006 Nov]Big Square 巨大正方形
农民 John 的牛与农民 Bob 的牛正在进行一场竞赛。他们在一块 的正方形点阵中各自占据了一些点,且同一个点上不能有两头牛。
每个农场的目标都是以自己农场的牛为 个顶点,构成一个面积尽可能大的正方形。正方形的边不一定与点阵边界平行。
除 Bessie 外,农民 John 的其他牛都已经被放置在点阵中。请确定将 Bessie 放在哪个尚未被占据的点上,能够使农民 John 的牛构成的最大正方形面积尽可能大。Bessie 不一定要作为该正方形的顶点之一。
输入格式
第一行包含一个整数 ,表示点阵的大小。
接下来 行,每行包含 个字符,描述点阵对应的一行。字符含义如下:
J表示该点被农民 John 的牛占据;B表示该点被农民 Bob 的牛占据;*表示该点尚未被占据。
保证点阵中至少有一个未被占据的点。
输出格式
输出一个整数,表示农民 John 的牛能够构成的最大正方形面积。如果无法构成正方形,则输出 。
样例输入
6
J*J***
******
J***J*
******
**B***
******
样例输出
4
样例解释
如果 Bessie 可以占据农民 Bob 的牛所在的点,那么可以构成一个面积为 的正方形。但 Bessie 只能被放置在未被占据的点上,因此将她放在第 行第 列时,可以构成面积为 的最大正方形。
数据范围
- ;
- 点阵中至少有一个未被占据的点。
来源与许可
本题为 USACO November 试题「巨大正方形」,题面与测试数据整理自 BZOJ。
样例 1
输入
6
J*J***
******
J***J*
******
**B***
******
输出
4