POJ1258 Agri-Net【最小生成树】

简介:

 

复制代码
Problem:1258   User: qq1203456195
Memory: 208K   Time: 16MS
Language: C   Result: Accepted

#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 105 #define MAX 100005 int visited[N],closet[N],Metr[N][N]; int n; int prim() { int i,ms,next,sum,j; memset(visited,0,sizeof(visited)); for (i=0;i<n;i++) closet[i]=Metr[0][i]; visited[0]=1; sum=0; for (j=1;j<n;j++) { ms=MAX; for (i=0;i<n;i++) { if (!visited[i]&&closet[i]<ms) { ms=closet[i]; next=i; } } sum+=ms; visited[next]=1; for (i=0;i<n;i++) if (!visited[i]&&Metr[next][i]<closet[i]) closet[i]=Metr[next][i]; } return sum; } int main() { int i,j; while(scanf("%d",&n)!=EOF) { for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d",&Metr[i][j]); printf("%d\n",prim()); } return 0; }
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/04/15/2450739.html,如需转载请自行联系原作者

相关文章
|
算法
ZOJ(ZJU) 1002 Fire Net(深搜)
ZOJ(ZJU) 1002 Fire Net(深搜)
99 0
ZOJ(ZJU) 1002 Fire Net(深搜)
|
定位技术 机器学习/深度学习
|
算法 数据建模
【POJ 1236 Network of Schools】强联通分量问题 Tarjan算法,缩点
题目链接:http://poj.org/problem?id=1236 题意:给定一个表示n所学校网络连通关系的有向图。现要通过网络分发软件,规则是:若顶点u,v存在通路,发给u,则v可以通过网络从u接收到。
1182 0
|
算法
.Net用循环链表解决约瑟夫问题
有一段时间没学习算法了,最近在学习一些常见的算法,约瑟夫问题是这样的: 15个教徒与15个非教徒在深海遇险,必须将一半的人投入大海,其余的人才能幸免于难,于是想到一个方法,30个人围成一圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,...
836 0