AT_abc143_e [ABC143E] Travel by Car
Description
[problemUrl]: https://atcoder.jp/contests/abc143/tasks/abc143_e
$ 1 $ から $ N $ までの番号がついた $ N $ 個の町と $ M $ 本の道があります。$ i $ 本目の道は町 $ A_i $ と町 $ B_i $ を双方向に結び、その長さは $ C_i $ です。
高橋君はこれらの町の間を、道を車で通行することで移動します。車の燃料タンクの容量は $ L $ リットルであり、距離 $ 1 $ を移動する度に燃料を $ 1 $ リットル消費します。移動中に町を訪れた場合、燃料をタンクが一杯になるまで補給することが出来ます (補給しないという選択も可能です)。道の途中で燃料が尽きるような移動は出来ません。
以下の $ Q $ 個のクエリに答えてください。
- はじめ、車の燃料タンクは一杯です。町 $ s_i $ から町 $ t_i $ へ移動するとき、最小で何回途中で燃料を補給する必要があるかを答えてください。町 $ t_i $ まで移動出来ない場合は $ −1 $ を出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ L $ $ A_1 $ $ B_1 $ $ C_1 $ $ : $ $ A_M $ $ B_M $ $ C_M $ $ Q $ $ s_1 $ $ t_1 $ $ : $ $ s_Q $ $ t_Q $
Output Format
$ Q $ 行出力せよ。
$ i $ 行目には、町 $ s_i $ から町 $ t_i $ へ移動するとき、最小で何回燃料を補給する必要があるかを出力せよ。町 $ t_i $ まで移動出来ない場合は $ −1 $ を出力せよ。
Explanation/Hint
### 制約
- 入力は全て整数
- $ 2\