#ddcc2017finalc. [ddcc2017_final_c]グラフいじり

[ddcc2017_final_c]グラフいじり

問題文

NN 頂点 MM 辺の有向グラフが与えられます。 頂点には 1,2,...,N1, 2, ..., N と番号が付いており、 ii 番目の辺は頂点 aia_i から頂点 bib_i へ張られる、長さ cic_i の辺です。 また、このグラフは強連結、つまりすべての i,j(1i,jN)i, j(1 ≦ i, j ≦ N) について、 頂点 ii から頂点 jj へのパスが存在します。

あなたはこのグラフの辺を 11 本だけ選び、長さを好きに変える事が出来ます。 なお、元の長さと同じ長さにしても良いです。

グラフを、どのサイクルを選んでも長さが 00 となるようにできるかを判定してください。

グラフから 22 本以上辺を選んだ時(辺を MM 本、d1,d2,...,dMd_1, d_2, ..., d_M 番目の辺を選んだとします)、以下の条件を満たすならば、この選んだ辺たちをグラフのサイクルと呼びます。

  • i=1,2,...,M1i = 1, 2, ..., M-1 について、bdi=adi+1b_{d_i} = a_{d_{i+1}}
  • ad1=bdMa_{d_1} = b_{d_M} (11:26)修正しました
  • iji ≠ j ならば、adiadja_{d_i} ≠ a_{d_j} (11:22)修正しました

サイクルの長さとは、選んだ辺たちの長さの総和の事を指します。

制約

  • 入力は全て整数
  • 2N3002 ≦ N ≦ 300
  • 1MN2N1 ≦ M ≦ N^2 - N
  • 1ai,biN1 ≦ a_i, b_i ≦ N
  • ci109|c_i| ≦ 10^9
  • aibia_i ≠ b_i
  • すべての 1i,jM1 ≦ i, j ≦ M について、iji ≠ j ならば aiaja_i ≠ a_j もしくは bibjb_i ≠ b_j
  • 与えられるグラフは強連結、つまりすべての 1i,jN1 ≦ i, j ≦ N について、頂点 ii から頂点 jj へのパスが存在する

入力

入力は以下の形式で標準入力から与えられる。

NN MM a1a_1 b1b_1 c1c_1 a2a_2 b2b_2 c2c_2 :: aMa_M bMb_M cMc_M

出力

グラフを、どのサイクルを選んでも長さが 00 となるようにできるならば Yes、できないならば No と出力してください。


入力例 1

3 3
1 2 1
2 3 2
3 1 3

出力例 1

Yes

どれかの辺の長さを 1+2+3=61+2+3 = 6 減らせばよいです。


入力例 2

4 5
1 2 1
2 3 2
3 1 2
2 4 3
4 1 3

出力例 2

No

入力例 3

4 5
1 2 1
2 3 -2
3 1 2
2 4 -3
4 1 3

出力例 3

Yes

11 番目の辺の長さを 00 にすればよいです。