P11001 [蓝桥杯 2024 省 Python B] 连连看

题目描述

小蓝正在和朋友们玩一种新的连连看游戏。在一个 $n \times m$ 的矩形网格中,每个格子中都有一个整数,第 $i$ 行第 $j$ 列上的整数为 $A_{i,j}$。玩家需要在这个网格中寻找一对格子 $(a,b)$ 和 $(c,d)$ 使得这两个格子中的整数 $A_{a,b}$ 和 $A_{c,d}$ 相等,且它们的位置满足 $|a-c| = |b-d| > 0$。请问在这个 $n \times m$ 的矩形网格中有多少对这样的格子满足条件。

输入格式

输入的第一行包含两个正整数 $n$ 和 $m$,用一个空格分隔。 接下来是 $n$ 行,第 $i$ 行包含 $m$ 个正整数 $A_{i,1}, A_{i,2}, \dots, A_{i,m}$,相邻整数之间用一个空格分隔。

输出格式

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

说明/提示

一共有以下 6 对格子:$(1,2)−(2,1)$,$(2,2)−(3,1)$,$(2,1)−(3,2)$,$(2,1)−(1,2)$,$(3,1)−(2,2)$,$(3,2)−(2,1)$。 ### 数据范围 对于 $20\%$ 的评测用例,$1 \leq n, m \leq 50$; 对于所有评测用例,$1 \leq n, m \leq 1000$,$1 \leq A_{i,j} \leq 1000$。