#U1617OS3. Where's Bessie?
Where's Bessie?
Farmer John 一向以精通技术而闻名,他正在测试他的新型自动化无人机奶牛定位摄像头,据称该摄像头可以拍摄他的田地照片并自动确定奶牛的位置。不幸的是,相机不包含用于寻找奶牛的非常好的算法,因此 FJ 需要您的帮助来开发更好的算法。
相机拍摄的农场的俯视图像由 N×N 字符网格描述,每个字符都在 A…Z 范围内,代表 26 种可能颜色中的一种。Farmer John 认为定义潜在奶牛位置 (PCL) 的最佳方式如下:PCL 是一个矩形子网格(可能是整个图像),其边与图像边平行,不包含在任何其他 PCL 中(因此PCL 的较小子集也是 PCL)。此外,PCL 必须满足以下属性:仅关注矩形的内容而忽略图像的其余部分,必须存在两种颜色,一种形成连续区域,一种形成两个或多个连续区域。
例如,一个包含内容的矩形
AAAAA
ABABA
AAABB
将构成 PCL,因为 A 形成单个连续区域,而 B 形成多个连续区域。解释是一头颜色 A 的母牛,带有颜色 B 的斑点。
如果您可以通过向上、向下、向左或向右反复从区域中的一个单元格移动到该区域中的另一个单元格来遍历整个区域,则该区域是“连续的”。
给定FJ相机返回的图像,请计算PCL的数量。
输入格式(文件 where.in):
输入的第一行包含 N,即网格的大小(1≤N≤20)。接下来的 N 行描述图像,每行包含 N 个字符。
输出格式(文件 where.out):
打印图像中 PCL 数量的计数。
SAMPLE INPUT:
4
ABBC
BBBC
AABB
ABBC
SAMPLE OUTPUT:
2
在此示例中,两个 PCL 是包含内容的矩形
ABB
BBB
AAB
ABB
and
BC
BC
BB
BC