给定一个大小为 n×m 的整数矩阵,元素记作 ai,j。每次操作可以选择一个由三个单元格组成的“拐角”形区域(L 形),并对其中所有元素同时加 1 或减 1。矩阵中所有元素都要变为 0,问是否存在一种操作方案。
“给出一段序列,不断选择其中的一段子序列,
并将该子序列中的所有值加一或减一,
最后将该序列内的所有值都变为同一个值…”,
这个问题太经典了,天才小A已经可以会了,因此他决定将该问题改编。
给定一个大小为 n×m 的矩阵,我们使用 (i,j) 表示网格中从上往下数第 i 行和从左往右数第 j 列的单元格,每一个单元格中都有一个值,使用 ai,j 表示 (i,j) 单元格的值。
小 A 希望将矩阵中所有元素变为同一个,所以他决定每次选取一个特殊的直角区域,并对该区域内所有元素同时加 1 或减 1 。特殊的直角区域定义为,由三个单元格构成的拐角形区域,如下图所示,黄色区域为以单元格 (i,j) 为拐角的、特殊的直角区域的四种不同选取方式:
小A可以进行任意数量次操作(可以不操作),他想知道是否存在一种操作方案,使得矩阵中所有的元素变为 0 ?
每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤10) 代表数据组数,每组测试数据描述如下:
第一行输入两个整数 n 和 m(1≦n,m≦200) ,分别表示矩阵的行数和列数;
此后 n 行,第 i 行输入 m 个整数
ai,1,ai,2,...,ai,m(−103≦ai,j≦103) ,其中,ai,j 表示 (i,j) 单元格的值。
对于每组测试数据,新起一行,若可以将知阵所有元素变为 0,则输出 YES ; 否则输出 NO 。
输入
3
1 4
1 1 1 1
2 3
4 4 3
4 3 3
2 2
2 -1
3 2
输出
NO
YES
YES