数字矩阵——高级
1 Sec 64 MB |
114 | 169 |
通过 | 提交 |
题目描述
小明得到了一个数字矩阵,这个矩阵共有N行,M列。他想要知道是否可以通过若干次平移操作,使得这个矩阵的左上角的值,正是他想要得到的值。
平移操作一共有4种:左移,右移,上移,下移。
从上图可以看出,若只有一列,左移和右移是没有效果的。。。若只有一行,则上移和下移是没有效果的。
现在小明想要知道最少移动多少次可以使得左上角的值是他想要的固定值。若没有可能通过平移得到,输出-1
输入格式
第一个数表示每组文件输入数据组数T(T<=100)。
每组测试数据第一行包含两个数N和M。 (1<=N,M<=50)
接下来一行N行,表示数字矩阵。
最后一个数字,表示小明希望左上角出现的数字
输出格式
输出T行。输出最少几次变换就可以达到目标,无法完成输出-1
样例输入 #1
5 4 3 136 427 568 309 2 3 4 0000 0000 0099 9 1 10 0123456789 7 2 3 555 555 1 4 11 12417727123 65125691886 55524912622 12261288888 9
样例输出 #1
2 2 3 -1 6