#LQ1513. 连连看

连连看

问题描述

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

输入格式

输入的第一行包含两个正整数 n,mn,m,用一个空格分隔。

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

输出格式

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

3 2
1 2
2 3
3 2
6

样例说明

一共有以下 66 对格子:

  • (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\% 的评测用例,1n,m501≤n,m≤50

对于所有评测用例,1n,m1000,1Ai,j10001≤n,m≤1000,1≤A_{i,j}≤1000