POJ1258 AgriNet【最小生成树】

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奶酪(张贺)
邮箱: cheesezh@qq.com
出处: http://www.cnblogs.com/CheeseZH/
* 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/CheeseZH/p/2450739.html