现在的位置: 首页 > 综合 > 正文

poj 2485 Prim

2013年12月06日 ⁄ 综合 ⁄ 共 539字 ⁄ 字号 评论关闭
#include <stdio.h>
#include <iostream>
using namespace std;
int m,n,dist[500][500];
int ma;
int prime(){
    int v,min;
    int d[500];
    int flag[500];
    memset(flag,0,sizeof(flag));
    for(int i=0;i<n;i++)    
        d[i]=dist[0][i];
    flag[0]=1;
    for(int i=0;i<n-1;i++){
       min=0x7fffffff;
       for(int j=1;j<n;j++)
          if(!flag[j]&&min>d[j]){
              min=d[j];
              v=j;                       
          }
       flag[v]=1;
       if(ma<min)
          ma=min;
     for(int i=1;i<n;i++)
       if(!flag[i]&&d[i]>dist[v][i])
          d[i]=dist[v][i];
          
    }
    return ma;
}
int main(){
    int i,j;
    cin>>m;
    while(m--){
       cin>>n;
       for(i=0;i<n;i++)
          for(j=0;j<n;j++)
             cin>>dist[i][j];
        ma=0;
        ma=prime();
        cout<<ma<<endl;                             
    }
    system("PAUSE");
    return 0;
}

抱歉!评论已关闭.