Processing math: 100%
编程题
                全相等三角形

问题描述

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

例如,对于下面的字母矩阵中,所有的字母 L 组成一个 LQ 三角形,所有字母 Q 组成了一个 LQ 三角形,所有字母 C 也组成了一个 LQ 三角形。 AAAAAAAALLLLLAALQQLAAALQLAACALLAACCALAACCC 如果一个 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