大楼的每一层楼都可以停放电梯,而且第i层楼(1《=i《=N)上有一个数字Ki(0《=Ki《=N)。电梯有四个按钮:开关上下,上下的层数等于当前楼层的那个数字,当然,如不能满足许需求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始。在一楼,按上可以到4楼,按下不起作用。因为没有-2楼。那么A楼到B楼至少按几次按钮呢?
输入描述:每个测试输入共有两行,第一个为三个用空格间隔开的正整数,表示N,A,B(1《=N《=200,1《=A,B《=N),第二行为N个用空格隔开的正整数,表示Ki
输出描述:如果存在解,输出两行,第一行为最少按键次数,第二层为走过的楼层路径,用空格隔开,但最后一个数字没有空格。
若无法到达,则输出一行-1,保证用例测试答案唯一
输入:
5 1 5
3 3 1 2 5
输出:
3
1 4 2 5
(PS:错别字就不要太在意了)
解法(dfs+剪枝):
import java.util.Scanner;
public