问题1012--矩阵

1012: 矩阵

时间限制: 1 Sec  内存限制: 128 MB
提交: 110  解决: 75
[提交] [状态] [讨论版] [命题人:]

题目描述

罗老师在玩一个矩阵,这是一个n*m的矩阵,矩阵内每个位置上有一个整数。 罗老师可以对这个矩阵做以下操作:

1.      下移:将第一行移动到最后一行的后面

2.      右移:将第一列移动到最后一列的后面

3.      上移:将最后一行移动到第一行的上面

4.      左移:将最后一列移动到第一列的上面

例如:3*3的矩阵  1 2 3

                 4 5 6

                 7 8 9

如果做第一个操作: 4 5 6

                   7 8 9

                   1 2 3

如果做第二个操作: 2 3 1

                   5 6 4

                   8 9 7

如果做第三个操作: 7 8 9

                   1 2 3

                   4 5 6

如果做第四个操作: 3 1 2

                   6 4 5

                   9 7 8

罗老师想把某个值(这个值可能出现多次,也可能出现0)移动到第一行第一列,问最少做几次操作可以做到。如果这个值在这个矩阵中不存在或者移动不到第一行第一列,就输出-1

输入

输入n m

然后输入 n*m大小的矩阵

然后输入罗老师要找的值 v

输出

输出最少操作次数或-1

样例输入 Copy

4 3
1 3 6
4 2 7
5 6 8
3 0 9
2

样例输出 Copy

2

提示

两次操作,向下,向右

1<=n, m<=50

矩阵里的值范围[0, 1000]

罗老师需要的值范围[0, 1000]

样例2

输入

2 3

5 5 5

5 5 5

1

输出

-1

样例3

输入

4 11

1 2 4 1 7 7 2 7 1 2 3

6 5 1 2 5 6 9 1 8 8 6

5 5 5 2 4 9 1 2 6 2 2

1 2 2 6 1 2 8 8 8 8 8

9

输出

6

来源/分类