#iroha2019day1i. [iroha2019_day1_i]リスのお仕事
[iroha2019_day1_i]リスのお仕事
この問題の解説はこちら。
問題文
今日のリスの仕事は、どんぐりをある木からある木まで運ぶことです。
リスの住んでいる森には全部で 本の木があり、それぞれの木には から までの整数の名前が付けられています。 また、それぞれの木を行き来できる枝が全部で \(M\) 本あり、\(i\) 本目の枝を使って 木 と木 の間を双方向に渡れます。
それぞれの枝から次の木までは大きさ の隙間があり、リスがジャンプしないといけません。 リスは同じ大きさの隙間はノリノリで渡りますが、どんぐりをもちながらジャンプするのは疲れるので、 前に跳んだ隙間と違う大きさの隙間をジャンプする前に休憩をすることにしました。ただし、最初のジャンプでは休憩をしません。
リスは木 にあるどんぐりを持って、休憩回数が最少となるようなルートを通って木 まで運びます。
森の精霊であるいろはちゃんは、リスが休憩する場所とゴールの木におやつの木の実を 個ずつおいてあげたいです。
いろはちゃんはいくつの木の実を用意すればいいでしょう。
制約
- について
入力
以下の形式で与えられます。
出力
必要な木の実の数の最小値を出力してください。リスが木 にたどり着けない場合は-1
と出力してください。 そうでない場合、リスは全員同じルートを通るので、を出力してください。
入力例 1
3 4 1
1 2 1
1 2 2
1 2 3
2 3 1
出力例 1
1
入力例 2
5 5 2
1 2 1
2 3 1
2 4 2
3 4 3
4 5 2
出力例 2
4