atcoder#ABC243E. [ABC243E] Edge Deletion

[ABC243E] Edge Deletion

配点 : 500500

問題文

NN 頂点 MM 辺の単純連結無向グラフが与えられます。 辺 ii は頂点 AiA_i と頂点 BiB_i を結ぶ長さ CiC_i の辺です。

以下の条件を満たすようにいくつかの辺を削除します。削除する辺の数の最大値を求めてください。

  • 辺を削除した後のグラフも連結である。
  • 全ての頂点対 (s,t)(s,t) について、頂点 ss と頂点 tt の間の距離が削除前と削除後で変化しない。

注釈

単純連結無向グラフとは、単純かつ連結で辺に向きの無いグラフのことをいいます。 グラフが単純であるとは、グラフが自己ループや多重辺を含まないことをいいます。 グラフが連結であるとは、グラフ上の任意の 22 頂点 s,ts, t について ss から tt へ辺をたどって行けることをいいます。 頂点 ss と頂点 tt の間の距離とは、頂点 ss と頂点 tt の間の最短路の長さのことをいいます。

制約

  • 2N3002 \leq N \leq 300
  • N1MN(N1)2N-1 \leq M \leq \frac{N(N-1)}{2}
  • 1Ai<BiN1 \leq A_i \lt B_i \leq N
  • 1Ci1091 \leq C_i \leq 10^9
  • iji \neq j ならば (Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j) である。
  • 与えられるグラフは連結である。
  • 入力はすべて整数である。

入力

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

NN MM

A1A_1 B1B_1 C1C_1

A2A_2 B2B_2 C2C_2

\vdots

AMA_M BMB_M CMC_M

出力

答えを出力せよ。

3 3
1 2 2
2 3 3
1 3 6
1

辺を削除する前の全ての頂点対の距離は次の通りです。

  • 頂点 11 と頂点 22 の距離は 22
  • 頂点 11 と頂点 33 の距離は 55
  • 頂点 22 と頂点 33 の距離は 33

33 を削除しても全ての頂点間の距離は変化しません。また、問題文の条件を満たすように 22 本以上の辺を削除することはできないので、答えは 11 本になります。

5 4
1 3 3
2 3 9
3 5 3
4 5 3
0

どの辺も削除することができません。

5 10
1 2 71
1 3 9
1 4 82
1 5 64
2 3 22
2 4 99
2 5 1
3 4 24
3 5 18
4 5 10
5