问题 6586 --龙哥的渐进正方形

6586: 龙哥的渐进正方形★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 21  解决: 9
[提交][状态][命题人:]

题目描述

大小为 n 的渐进正方形是一个n×n 的矩阵。选择三个整数 a[1][1],c,d ,并根据以下规则构造一个渐进正方形:
  • a[i+1][j]=a[i][j]+c
  • a[i][j+1]=a[i][j]+d
例如,设n=3,a[1][1]=1,c=2,d=3,那么渐进正方形如下:

给定n,c,d,和n*n个整数,判断这些数是否能组成一个符合规则的渐进正方形。

输入

第一行包含一个整数T(1≤T≤10000),表示测试数据组数。
每组测试样例第一行有n,c和d三个整数(2≤n≤500,1≤c,d≤1e6)。
第2行为n*n个整数b1,b2,...,bn.n (1≤bi≤1e9)。
测试数据保证所有的n*n之和不超过2.5e5。

输出

若给定的数据能组成一个符合规则的渐进正方形,则输出"YES";否则输出"NO"。
样例输入
Copy
5
3 2 3
3 9 6 5 7 1 10 4 8
3 2 3
3 9 6 5 7 1 11 4 8
2 100 100
400 300 400 500
3 2 3
3 9 6 6 5 1 11 4 8
4 4 4
15 27 7 19 23 23 11 15 7 3 19 23 11 15 11 15
样例输出
Copy
NO
YES
YES
NO
NO

提示

来源

 

[提交][状态]