二阶矩阵
题目描述
小 A 有一个 n 行 m 列的矩阵 A。
小 A 认为一个 2×2 的矩阵 D 是好的,当且仅当 D1,1×D2,2=D1,2×D2,1。其中 Di,j 表示矩阵 D 的第 i 行第 j 列的元素。
小 A 想知道 A 中有多少个好的子矩阵。
输入格式
第一行,两个正整数 n,m。
接下来 n 行,每行 m 个整数 Ai,1,Ai,2,…,Ai,m。
输出格式
一行,一个整数,表示 A 中好的子矩阵的数量。
样例输入
3 4
1 2 1 0
2 4 2 1
0 3 3 0
样例输出
2
样例解释
在给出的 3×4 矩阵中,所有可能的 2×2 子矩阵共有 (3−1)×(4−1)=6 个。我们逐一检查这些子矩阵是否满足条件 D1,1×D2,2=D1,2×D2,1。
以第 1 行第 1 列为左上角的子矩阵为:
[1224],计算得 1×4=4,2×2=4,两者相等,是一个好的子矩阵。
以第 1 行第 2 列为左上角的子矩阵为:
[2412],计算得 2×2=4,1×4=4,两者相等,也是一个好的子矩阵。
其余四个子矩阵经过计算均不满足乘积相等的条件,因此总共有 2 个好的子矩阵。
数据范围
对于所有测试点,保证 1≤n≤500,1≤m≤500,−100≤Ai,j≤100。