首页 > 代码库 > 【裸最小生成树】 模板 poj 1258
【裸最小生成树】 模板 poj 1258
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#define MAX 102void read();using namespace std;int map[MAX][MAX],best[MAX],n;bool visit[MAX];int main(){ //freopen("in.txt","r",stdin); while(scanf("%d",&n)!=EOF) { memset(visit,false,sizeof(visit)); read(); int ans=0,k; for(int i=1;i<=n;i++) { best[i]=map[1][i]; } visit[1]=true; while(1) { int min=1 << 30; k=0; for(int i=1;i<=n;i++) { if(!visit[i] && best[i]<min) { min=best[i]; k=i; } } if(k==0)break; ans+=min; visit[k]=true; for(int i=1;i<=n;i++) { if(!visit[i] &&map[k][i]<best[i]) { best[i]=map[k][i]; } } } cout << ans << endl; } return 0;}void read(){ for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { scanf("%d",&map[i][j]);//输入邻接矩阵 } }}
【裸最小生成树】 模板 poj 1258
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。