给你一个n行n列的由1到n*n构成的数字方阵,其中1到n*n每个数恰好出现一次,并且已知这个数字方阵的每一行每一列的数之和都等于定值n*(n*n+1)/2。现在要你验证它的两条对角线上的数之和是否都等于定值n*(n*n+1)/2。如果满足这一条件则这个数字方阵就是传说中的幻方了。
第一行读入一个正整数n,n<10。从第2行到第n+1行每行读入n个正整数,相邻两数间用空格隔开。输入数据保证1到n*n每个数恰好出现一次,并且这个数字方阵的每一行每一列的数之和都等于定值n*(n*n+1)/2。
输入样例1
3
6 1 8
7 5 3
2 9 4
输入样例2
4
1 15 14 4
12 6 7 9
13 3 2 16
8 10 11 5
输出样例1
Yes
输出样例2
No
主对角线上所有位置的元素所在的行和列是相等的,反对角线上所有位置的元素所在的行和列相加等于n+1。
样例解释:样例1中主对角线上3个数分别是654,它们的和等于15=3*(3*3+1)/2,反对角线上3个数分别是852,它们的和也等于15,因此输入的方阵是一个传说中的幻方。
样例2中主对角线上4个数分别是1625,它们的和是14不等于4*(4*4+1)/2,因此输入的方阵不是幻方。