1. paizaラーニングトップ
  2. レベルアップ問題集
  3. プリム法メニュー(言語選択)
  4. 問題一覧 CoffeeScript(Beta)編
  5. 隣接行列から最小全域木を求める CoffeeScript(Beta)編

プリム法メニューのサムネイル
隣接行列から最小全域木を求める CoffeeScript(Beta)編(paizaランク A 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

連結成分 1、頂点数 N、重み付き、自己ループなしの無向グラフ G が隣接行列の形で与えられるので、G に対する最小全域木の辺の重みの総和を出力してください。




入力される値

・ G の頂点数 N

・ G の各辺間の重み C_{i,j} (1 ≦ i, j ≦ N)

・ C_{i,j} は頂点間の辺の重みであり、隣接していない場合は 0 が与えられます。



N
C_{1,1} C_{1,2} ... C_{1,N}
C_{2,1} C_{2,2} ... C_{2,N}
...
C_{N,1} C_{N,2} ... C_{N,N}


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

G に対する最小全域木の辺の重みの総和を 1 行で出力してください。


また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 2 ≦ N ≦ 1000

・ 1 ≦ i, j ≦ N

・ 1 ≦ C_{i,j} ≦ 100 または C_{i,j} = 0

入力例1

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

出力例1

10

入力例2

5
0 3 9 4 4
3 0 3 3 0
9 3 0 6 0
4 3 6 0 0
4 0 0 0 0

出力例2

13

問題一覧へ戻る

ページの先頭へ戻る