問題一覧 > 通常問題

No.807 umg tours

レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 238
作問者 : sinsincoscos / テスター : tempura_pp
38 ProblemId : 2822 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2019-03-22 02:26:02

問題文

 umg toursでは,N個のスポットでのツアーを企画しています。道がM個あり,道iは,異なる2つのスポットaibiの間を距離ciで双方向に結んでいます。 どの2つのスポット間も道を経由することで行き来できることが保証されます。また,同じスポットを結ぶ道が2本以上存在することもありません。
 umgくんはN個のツアーを企画しました。ツアーiでは,スポット1から始め,道を移動しながらスポットiを訪問した後,再びスポット1に戻ってきます。 行きと帰りとで経路が異なっていてもよいです。
 ある日,N人のツーリストがumg toursを利用しに来ました。ツーリストiは,ツアーiに参加します。しかしツーリストたちはVIPなので,彼らは各ツアーの途中に1回だけ,ツーリストチケットを使うことで,好きな道の移動距離を0にすることができます。ツアーを通して ある道の距離を0にできるわけではないことに注意してください。
 すべてのi (1iN)について,ツーリストiの最短の移動距離を求めてください。

注意

 入出力が多いため,時間制限に注意して下さい。Python使いの人はPyPy3で提出してください。PyPy3ではACを確認しています。

入力

N M
a1 b1 c1

aM bM cM

2N105
N1Mmin(2×105,N(N1)/2)
1ai,biN
1ci109
ijのとき(ai,bi)(aj,bj)かつ(ai,bi)(bj,aj)
与えらえるグラフは連結である。
与えられる入力はすべて整数である。

出力

N行出力してください。i行目には,ツーリストiの最短の移動距離を出力してください。最後に改行してください。

サンプル

サンプル1
入力
5 6
1 2 2
1 3 3
1 4 4
2 5 10
3 5 7
4 5 8
出力
0
2
3
4
12

例えば,ツーリスト5は1→3→5と移動した後,ツーリストチケットを使って2に移動し,2→1と移動すると,移動距離は12となり,これが最短となります。

サンプル2
入力
6 8
1 2 5
2 6 8
1 3 3
3 5 2
5 6 1
1 4 6
4 5 2
1 6 10
出力
0
5
3
6
6
6

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。