题目要求判断一个 r 行 c 列的表格是否满足“对角一致”:对于所有 1≤i≤r−1 且 1≤j≤c−1 的位置,格子内数值 gi,j 必须与右下角格子 gi+1,j+1 相等。
这说明表格中每一条从左上到右下的对角线上的所有元素都必须相等。
因此只需要用模拟检查即可:
在数据验证中,我们经常需要检查一张表格是否满足某种规律。给定一个包含 r 行 c 列的矩形表格,每个格子内填有一个整数。一个表格被称为是「对角一致」的,当且仅当对于表格中每一个存在右下相邻格子的位置,该格子的值都与它右下格子的值相等。形式化地说,对于所有满足 1≤i≤r−1 且 1≤j≤c−1 的 (i,j),设 gi,j 表示第 i 行第 j 列的数值,则必须满足 gi,j=gi+1,j+1。
现在给出了 T 组独立的测试数据,请你对每组数据判断其是否属于对角一致的表格。
数据范围:
第一行包含一个整数 T,表示测试数据的组数。
接下来依次描述每组测试数据。对于每组数据: 第一行包含两个整数 r 和 c,分别表示表格的行数和列数,两个数之间用空格分隔。 随后 r 行,每行包含 c 个用空格分隔的整数,表示该行各列的数值。
对于每组测试数据,输出一行结果:若表格满足对角一致要求则输出 Yes,否则输出 No。所有输出按顺序对应每组测试数据。
输入
1
2 2
3 3
3 3
输出
Yes
说明
该表格为 2×2。唯一需要检查的位置是 (1,1) 与 (2,2)。因为 g1,1=3,g2,2=3,二者相等,满足对角一致条件,输出 Yes。
输入
1
2 2
7 8
5 2
输出
No
说明
表格尺寸为 2×2。检查 (1,1) 与 (2,2) 这一对右下相邻格子:g1,1=7,g2,2=2,7eq2,不满足要求,因此输出 No。
输入
1
3 3
1 2 3
4 1 2
5 4 1
输出
Yes
说明
表格为 3×3,需要检查所有存在右下相邻格子的位置:
Yes。输入
1
1 4
9 8 7 6
输出
Yes
说明
表格只有 1 行 4 列。此时条件要求 1≤i≤r−1,但 r−1=0,没有任何 i 满足该条件,因此不存在需要检查的右下相邻格子。这种情况自动视为对角一致,输出 Yes。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.