No.34 砂漠の行商人
問題文
太郎君は砂漠を歩く行商人です。
太郎君はこれから次の街へ行こうとしています。
砂漠には移動しやすい場所とそうでない場所があり、
太郎君は長年の経験から、
その場所に行くとどれくらいの体力を消耗するかを知っています。
砂漠は際限なく続いていますが、太郎君が知っているのは
その外側に行くと命の危険があるため絶対に行きません。
いま太郎君は体力
太郎君は、辺を共有する前後左右の隣接マスへのみ移動することができ、
今居るマスから隣のマスへ移動するときに
さらに、移動した先の砂漠レベル
移動先の砂漠レベルが
太郎君の体力が
街に着いた瞬間に死んでしまってもいけません。
太郎君は、商品をできるだけ早く捌きたいので、
「太郎君が死なずに」「最も早く次の街へ着く」には、
どれくらい時間がかかるか計算してください。
入力
太郎君の体力値を表す整数
太郎君の初期位置を表す整数の組
次の街の位置を表す整数の組
がスペース区切りで与えられます。
続く
初期位置
出力
太郎君が死なずに、最も早く次の街へ着く最小の移動回数。
どうやっても生きてたどり着けない場合は
最後に改行すること。
サンプル
サンプル1
入力
3 2 1 1 3 1 0 2 0 0 1 0 0 0 0
出力
4
遠回りすれば体力を減らさずに着くことができますが、移動回数
(1,1)→(2,1)→(3,1) の順に歩くと移動回数
(1,1)→(1,2)→(2,2)→(3,2)→(3,1) の順に歩くのが、死なない範囲で最も早く着くことができます。
サンプル2
入力
4 25 1 1 4 4 0 1 3 3 1 4 1 5 2 2 7 8 6 7 4 9
出力
-1
どのような経路でも途中で死んでしまうため、次の街へ着くことができません。
サンプル3
入力
21 40 15 1 18 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 4 3 9 0 4 4 3 0 8 7 0 2 2 2 3 8 1 2 1 2 2 5 6 3 4 9 1 2 2 6 6 8 0 1 1 0 9 8 4 6 3 6 5 0 7 9 9 7 2 9 4 3 0 9 7 5 9 0 4 1 9 5 3 9 2 1 8 4 7 9 8 0 3 9 5 1 2 1 2 5 9 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 1 7 9 5 2 3 0 4 0 8 4 4 8 5 4 2 8 3 8 6 3 9 6 7 3 0 4 1 9 5 1 2 2 3 0 8 0 6 6 4 4 3 6 6 6 7 4 5 3 0 6 7 3 5 1 9 3 0 5 9 9 9 8 1 1 4 2 5 9 3 2 4 1 8 4 6 3 5 5 3 3 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 7 7 9 2 8 4 5 6 4 6 8 2 7 3 5 8 5 2 4 9 0 7 7 0 4 1 6 1 9 1 5 0 1 6 5 2 6 6 6 5 3 9 7 7 2 6 3 7 1 5 3 8 9 5 6 3 4 8 7 3 4 8 9 1 0 3 9 4 3 9 1 4 8 1 0 5 9 4 3 6 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 5 0 0 4 9 3 9 6 5 4 2 1 5 9 8 7 8 8 6 3 7 2 3 9 9 9 7 7 0 5 8 0 6 3 6 1 2 3 1 0 5 7 8 1 1 8 5 4 3 5 0 2 5 8 5 3 5 3 4 1 0 7 7 1 8 1 2 0 5 8 1 3 9 6 1 3 8 3 9 4 8 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
出力
33
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。