解题思路
对称偏差定义为
i=1∑nj=1∑n∣gi,j−gj,i∣
主对角线上 i=j,差值为 0,对答案没有贡献。对于每一对 (i,j) 与 (j,i)(i<j),两项各贡献一次 ∣gi,j−gj,i∣,因此只需枚举上三角,把绝对值差乘以 2 即可。
直接按定义双重循环累加也能得到同样结果。
题目内容
气象局在 n×n 的格点上布置了传感器,第 i 行第 j 列的读数为 gi,j。定义整张网格的对称偏差为:每个位置上,该点读数与其关于主对角线对称位置读数之差的绝对值之和,即
i=1∑nj=1∑n∣gi,j−gj,i∣
请计算给定网格的对称偏差。
约束:网格边长不超过 500,每个读数是不超过 1000 的正整数。
输入描述
第一行一个正整数 n,表示网格边长。
接下来 n 行,每行 n 个正整数,表示网格读数 gi,j。
保证 1≤n≤500,1≤gi,j≤1000。
输出描述
输出一个整数,表示该网格的对称偏差。
样例1
输入
1
7
输出
0
说明
只有一个格点时,它关于主对角线的对称位置就是自己,差值为 0。
这是 n=1 的边界情形。
样例2
输入
3
1 2 3
4 5 6
7 8 9
输出
16
说明
上三角三对差值为 ∣2−4∣=2、∣3−7∣=4、∣6−8∣=2,每对在求和中出现两次。
总偏差为 2×(2+4+2)=16。
样例3
输入
1
8
输出
0
说明
按题意模拟计算得到。