Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Courses
グラフ理論
フロイドのアルゴリズム
Module:
フロイドのアルゴリズム
Problem
1
/10
フロイド: ザ・ビギニング (C++)
Theory
Click to read/hide
Error
Problem
エッジに負でない重み (長さ) が割り当てられた有向グラフが与えられます。頂点 s から頂点 t までの最短パスの長さを求めます。
入力
最初の行には、グラフの頂点の数 N <50、頂点 s と t の数という 3 つの数値が含まれています。次にグラフの隣接行列、つまり各行に N 個の数値が含まれる N 行が来ます。隣接行列の i 行目の j 番目の数値は、i 番目の頂点から j 番目の頂点まで続くエッジの長さを指定します。長さは 0 ~ 1000000 の任意の値を取ることができ、数値 -1 は対応するエッジがないことを意味します。行列の主対角線上にゼロがあることが保証されます。
出力
単一の数値を出力します –最小パス長。パスが存在しない場合は、-1 を出力します。
例
<頭>
#
入力
出力
<本体>
1
3 1 2
0 -1 3
7 0 1
2 215 0
218
表>
1000
ms
32 Mb
Rules for program design and list of errors in automatic problem checking
Teacher commentary