#4714. 花坛(2023年1月STEMA选拔赛)

花坛(2023年1月STEMA选拔赛)

**第四题(难度系数4,30个计分点) **

知识点:​二维**

编程实现:花坛

题目描述:

小明有一张N*M(2≤N≤30,2≤M≤30)的方格纸,且每个小方格都是正方形,纸上的每个小方格中都画了一个花朵,共有a、b、c三种不同的花朵。为了美观现按照以下要求为花朵涂色。

要求:

1)涂色的花朵区域必须是一个正方形矩阵,最小为一个2*2的正方形矩阵;

2)正方形矩阵中的花朵必须是同一种花朵;

3)只要正方形矩阵四个顶点不重合就算作不同的正方形矩阵(有部分区域重叠或者大正方形矩阵包含小正方形矩阵,按不同的正方形矩阵计算)。

已知方格纸的行数N(2≤N≤30)和列数M(2≤M≤30),及每个小正方形方格中花朵的种类,请帮助小明计算出,按要求有多少个正方形矩阵需要涂色。

例如:N=4,D = 5,矩阵如下图: image 其中有3个正方形矩阵需要涂抹颜料(蓝色框区域和绿色区域的矩阵部分重叠按2个计算)。

输入描述:

第一行输入两个正整数N(2≤N≤30)和M(2≤M≤30),N表示矩阵方格的行数,M表示矩阵方格的列数,两个正整数之间以一个空格隔开

第二行开始输入N行,每行M个字符(字符只包含a、b、c),字符之间以一个空格隔开

输出描述:

输出一个整数,表示N*M的矩阵方格纸中,需要涂抹颜料正方形矩阵的个数

样例输入:

4 5

b b c b a

b b a c b

c b a a a

a b a a a

样例输出:

3

评分标准:

4分:能正确输出第一组数据;

4分:能正确输出第二组数据;

4分:能正确输出第三组数据;

4分:能正确输出第四组数据;

4分:能正确输出第五组数据;

5分:能正确输出第六组数据。

Limitation

1s, 1024KiB for each test case.