编程题

全相等三角形

给定一个字母矩阵,定义一个LQ三角形为某行中连续的几个字母、某列中连续的几个字母和一条45度的斜线中连续的几个字母组成的等腰直角三角形的边缘部分,其中每条边上的字母数量相等且至少为2。

例如,对于下面的字母矩阵中,所有的字母L组成一个LQ三角形,所有字母Q组成了一个LQ三角形,所有字母C也组成了一个LQ三角形。

如果一个LQ三角形边上的所有字母相等,则称为一个全相等三角形。以三个例子都是全相等三角形。

给定一个字母矩阵,请求其中有多少个全相等三角形。

输入格式

输入第一行包含两个整数n,m,分别表示字母矩阵的行数和列数。

接下来n行,每行m个大写字母,为给定的矩阵。

输出格式

输出一行,包含一个整数,表示答案。

样例输入1

3 4

AAAA

ALAQ

ALQQ

样例输出1

4

样例输入2

6 7

AAAAAAA

ALLLLLA

ALQQLAA

ALQLAAC

ALLAACC

ALAACCC

样例输出2

23

评测用例规模与约定

对于50%的评测用例,1<=n,m<=10。对于所有评测用例,1<=n,m<=100。

查看答案
赣ICP备20007335号-2