#2382. Where's Bessie?

Where's Bessie?

题目描述

农夫John\red{John}正在测试一个他新发明的全自动寻找奶牛无人机,它能够照一张农场的图片然后自动找出奶牛的位置。

不幸的是,这个相机并不包含一个优秀的寻找奶牛函数,所以农夫John\red{John}需要你来写一个。

农场的俯瞰图被定义为一个n×n\red{n \times n}的字符矩阵。矩阵由大写字母A\red{A}Z\red{Z}组成,每个字母表示一种可行

的颜色。农夫John\red{John}发现一个可能是奶牛的位置(以下简称PCL\red{PCL)}的最好定义如下:

一个PCL\red{PCL}是一个矩阵(可能是整张图),矩阵的边与图像的边缘平行,且不能被其他PCL\red{PCL}所包含(因此PCL\red{PCL}内部不可能有PCL\red{PCL)}

更多的,一个PCL\red{PCL}必须满足以下特性:

1\red{1}、矩阵有且只能有2\red{2}种颜色构成。

2\red{2}、这两种颜色一种构成一个连通块,另一种形成两个或两个以上的连通块。

举个例子:

AAAAA ABABA AAABB\red{AAAAA~ \\ABABA ~\\AAABB }

这个矩阵就是一个PCL\red{PCL,}其中颜色A\red{A}构成一个连通块,B\red{B}构成两个连通块,描述了一只可能以A\red{A}为底色,B\red{B}为花纹的奶牛。

在这里连通块被定义为:从其中的任何一个点,你能仅通过上下左右移动,到达另外任何一个点

(即上下左右相邻)

给定农场的照片,请你计算图中有几个PCL\red{PCL}

输入格式

第一行包含一个正整数N\red{N,}表示矩阵的边长。

接下来的N\red{N}行每行N\red{N}个字符,描述了这个矩阵的颜色。

输出格式

输出PCL\red{PCL}的个数

样例

输入样例

4
ABBC
BBBC
AABB
ABBC

输出样例

2

提示

在此示例中,两个 PCL\red{PCL} 是包含内容的矩形

ABB
BBB
AAB
ABB


and


BC
BC
BB
BC
``