P0745

[Usaco2006 Nov]Big Square 巨大正方形

[Usaco2006 Nov]Big Square 巨大正方形

农民 John 的牛与农民 Bob 的牛正在进行一场竞赛。他们在一块 N×NN\times N 的正方形点阵中各自占据了一些点,且同一个点上不能有两头牛。

每个农场的目标都是以自己农场的牛为 44 个顶点,构成一个面积尽可能大的正方形。正方形的边不一定与点阵边界平行。

除 Bessie 外,农民 John 的其他牛都已经被放置在点阵中。请确定将 Bessie 放在哪个尚未被占据的点上,能够使农民 John 的牛构成的最大正方形面积尽可能大。Bessie 不一定要作为该正方形的顶点之一。

输入格式

第一行包含一个整数 NN,表示点阵的大小。

接下来 NN 行,每行包含 NN 个字符,描述点阵对应的一行。字符含义如下:

  • J 表示该点被农民 John 的牛占据;
  • B 表示该点被农民 Bob 的牛占据;
  • * 表示该点尚未被占据。

保证点阵中至少有一个未被占据的点。

输出格式

输出一个整数,表示农民 John 的牛能够构成的最大正方形面积。如果无法构成正方形,则输出 00。

样例输入

6
J*J***
******
J***J*
******
**B***
******

样例输出

4

样例解释

如果 Bessie 可以占据农民 Bob 的牛所在的点,那么可以构成一个面积为 88 的正方形。但 Bessie 只能被放置在未被占据的点上,因此将她放在第 33 行第 33 列时,可以构成面积为 44 的最大正方形。

数据范围

  • 2≤N≤1002\le N\le 100;
  • 点阵中至少有一个未被占据的点。

来源与许可

本题为 USACO 20062006 November 试题「巨大正方形」,题面与测试数据整理自 BZOJ。

样例 1

输入

6
J*J***
******
J***J*
******
**B***
******

输出

4