1503 下棋
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
32M
Problem types
Allowed languages
C, C++, Java, Python
Description
棋盘分为n格,格子是水平分布的,从1开始编号,1,2,3。。。n,每格上有一个标号x,棋子只能向前前进或者向后后退x格,(如果超出棋盘边界则不能前进或后退),现在已知棋子的起始位子坐标i和目标位置坐标j,要你求出至少要经过几步棋子才能从初始位子到达目标位子。
Input
输入分别为n(1<n<200),表示棋盘的格数,(当n为0时表示输入结束),接下去的n个数分别表示每格上的标号,最后输入两个数,表示其实位子和目标位子标号。
Output
输出从起始位子到目标位子的最小步数,若无法到达则输出-1。
Sample
Input
4
4 2 2 4
2 3
6
1 1 1 1 1 1
1 6
2
1 1
1 1
Output
-1
5
0
Source: 朱泽伟
Comments