問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
1,...,N の番号のついた N 個の頂点とそれらをつなぐ枝からなる有向グラフを考えます。ただし、自己ループと多重辺は考えません。
M 本の重み付き有向枝と頂点番号 s が与えられます。この M 本の有向枝からなる有向グラフ G の各頂点は頂点 s から到達可能であるとします。このグラフ G に負閉路が存在するならば Yes
そうでないならば No
と出力してください。
負閉路とは、枝の重みの総和が負となる閉路のことを言います。一般的に、負閉路が存在するグラフでは最短経路問題を解くことはできません。なぜなら、負閉路を移動し続ければいくらでも最短距離を短くすることができるからです。
N M s
a_1 b_1 c_1
...
a_M b_M c_M
1 行で出力してください。与えられたグラフが負閉路を含むならば Yes
、そうでなければ No
と出力してください。
また末尾に改行をいれ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
5 5 1
1 2 4
1 3 9
2 4 1
4 5 3
5 2 -6
Yes
5 7 1
1 2 1
1 5 -10
2 3 1
2 5 -7
3 4 1
3 5 -4
4 5 1
No