埔里ムーアルゴリズムグラフアルゴリズム---

書式#include <iostreamの> 
の#include <CStringの> 
の#include <climits>
 使用して 名前空間はstd;
const  int型 M = 500 ;
int型のコスト[M] [M];
INT クリート(){
     int型N、M。
    CIN >> N >> M。
    int型、Q = 1、Q <= N; Q ++ ){
         ためINT W = 1 ; ++ W; <= N w)のコスト[Q] = [W] INT_MAX。
    } 
    int型、B、Cと、
    INT Q = 1 ; Q <= Mであり; q ++){ 
        CIN >> A >> B >> C。
        コスト[A] [B] =のC。
        コスト[B] [A] =のC。
    } 
    戻りN。
} 
ボイドプリム(int型N){
     int型近い[M]、低コスト[M]。
    INT Q = 1 ; Q <= N; Q ++ ){ 
        閉じる[Q] = 1 
        低コスト[Q] =コスト[ 1 ] [Q]。
    } 
    閉じる[ 1 ] = - 1 INT Q = 1; Q <N; Q ++ ){
         int型ミン= INT_MAX、U = Q。
        INT = W 1、W <= N; ++ w)の場合(!近い[W] = - 1つの &&低コスト<[W] 最小){ 
            最小 = 低コスト[W]。
            U = W。
        } 
        COUTを << " " <<閉じる[U] << " " << U << " " << " " <<低コスト[U] << ENDL。
         ; W <= N; ++ w)の場合!(近い[W] = - 1 &&低コスト[W]> コスト[U])[W] { 
            [W]低コスト = コスト[U] [W]。
            閉じる[W] = U。
        } 
    } 
    を返します
} 
int型のmain(){
     int型のT。
    cinを >> トン。
    一方、(t-- ){
         int型 N = クリート()。
        プリム(N)
    } 
    戻り 0 
}

 

おすすめ

転載: www.cnblogs.com/yangmenda/p/11725595.html