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

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

题目描述

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

输入格式

输入的第一行包含两个正整数 nn 和 mm,用一个空格分隔。

接下来是 nn 行,第 ii 行包含 mm 个正整数 Ai,1,Ai,2,…,Ai,mA_{i,1}, A_{i,2}, \dots, A_{i,m},相邻整数之间用一个空格分隔。

输出格式

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

3 2 
1 2 
2 3 
3 2

6

提示

一共有以下 6 对格子:(1,2)−(2,1)(1,2)−(2,1),(2,2)−(3,1)(2,2)−(3,1),(2,1)−(3,2)(2,1)−(3,2),(2,1)−(1,2)(2,1)−(1,2),(3,1)−(2,2)(3,1)−(2,2),(3,2)−(2,1)(3,2)−(2,1)。

数据范围

对于 20%20\% 的评测用例,1≤n,m≤501 \leq n, m \leq 50;

对于所有评测用例,1≤n,m≤10001 \leq n, m \leq 1000,1≤Ai,j≤10001 \leq A_{i,j} \leq 1000。