SRM144 DIV2 1100

点数581とかだったけど解けた。もうこの手の探索問題は余裕で解けそう。
例の如く現在いるノード、チェックしたノード(long longでフラグ管理)、そこまでにかかったコストを状態にしてsetで管理。そんでdijkstra法を使用して最短距離を求める。これからTopCoderでコードを漁って華麗な解法を色々みてこようと思う。

つーか1位の人華麗すぎるwww 俺は問題を良く読まなすぎる。もっと条件が色々書いてあったから普通に計算で解けたっぽい。
無向グラフでループ無し==木という事で、端点まで行ったら途中まで戻らないと行けない。と言うことは、最後に訪れる端点を一番0から遠い点にすれば良い。最後に通る辺は一回、それ以外は二回通るので、まず全ての辺の長さを二倍した物を求めて、そこから0から一番遠い点までの距離を引いてあげれば良いというだけだった。カシコス