No.035 C

まずはすべての2点間の距離を Floyd Warshal で求め, の初期値を計算する.

ここで, 道 を追加すると2点 間の最短距離がどうなるかを考える.

もし新たに追加した道が 間の最短距離となるルート上に乗るならば, または というルートになるはずである.

したがって,

という式で新たな を求めることができる.

なお, int の範囲を超える可能性があるので注意する.