問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
今日は、paiza 君は塾の日で、paiza 君は地点 s にある家から地点 g にある塾へ向かいます。しかし、paiza 君はノートを使い切ってしまったため、塾へ行く前に地点 t にある文房具屋さんでノートを買う必要があります。paiza 君が家を出発して、文房具屋さんでノートを買い、塾へたどり着くまでの最短時間とその経路を出力してください。ただし、ノートを買う時間は考慮しないものとします。最短時間の経路が複数存在する場合は、そのうちのひとつを出力してください。家から文房具屋さんまでの道、または文房具屋さんから塾までの道が存在しない場合は、inf
と出力してください。
N M s t g
a_1 b_1 c_1
...
a_M b_M c_M
合計一行または二行出力してください。一行目に家から文房具屋さんを寄って塾へ到達するまでの最短時間を出力し、二行目にはその経路で辿る地点を順番に左から半角スペース区切りで出力してください。最短時間の経路が複数存在する場合はそのうちのひとつを出力してください。家から文房具屋さんまでの道、または文房具屋さんから塾までの道が存在しない場合は、一行で inf
と出力してください。
また末尾に改行をいれ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
7 11 1 4 7
1 2 2
1 3 4
2 3 1
2 4 8
2 5 1
3 5 4
3 6 3
4 7 2
5 4 3
5 7 1
6 7 3
8
1 2 5 4 7
8 7 2 7 1
2 3 8
1 8 4
1 3 7
1 7 4
1 4 6
1 6 4
1 5 5
inf