poj1258(最小生成树 kruskal算法)
来源:互联网 发布:天刀捏脸数据金木研 编辑:程序博客网 时间:2024/06/07 15:35
Sample Input
40 4 9 214 0 8 179 8 0 1621 17 16 0
Sample Output
28
/*题目意思:有N个城市,用邻接矩阵给出两两之间的距离。然后求最小生成树的权值之和 */#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int mx=500*500+10;struct node{int u,v,w;bool operator<(node t)const{return w<t.w;}//后面那个const还是最好不要少 }edge[mx];int n,m;int f[mx];int find(int x){int t=x;while(x!=f[x]) x=f[x];return f[t]=x;}int kruskal(){int ans=0,cnt=0,fx,fy;for(int i=0;i<m;i++)f[i]=i;for(int i=0;i<m;i++){fx=find(edge[i].u),fy=find(edge[i].v);if(fx!=fy){f[fx]=fy;cnt++;ans+=edge[i].w;if(cnt==n-1) return ans;}}}int main(){while(~scanf("%d",&n)){int w;m=0;for(int i=0;i<n;i++)for(int j=0;j<n;j++){scanf("%d",&w);if(w)edge[m].w=w,edge[m].u=i,edge[m++].v=j;}sort(edge,edge+m);printf("%d\n",kruskal());}return 0;}
阅读全文
1 0
- poj1258(最小生成树 kruskal算法)
- poj1258 Agri-Net 最小生成树,kruskal算法
- 最小生成树poj1258 prim和kruskal
- POJ1258-最小生成树-kruskal模板
- 最小生成树(prim算法)--poj1258
- poj1258(最小生成树)
- 最小生成树之Kruskal---POJ1258---Agri-Net
- 最小生成树【Kruskal】POJ2377,POJ1258,poj2358,hdu1233
- poj1258 Agri-Net 最小生成树 prim kruskal 模板
- POJ1258 Agri-Net(最小生成树,prim算法)
- POJ1258 最小生成树prim算法
- poj1258(最小生成树prime算法)
- poj1258 最小生成树 prim算法
- POJ1258最小生成树(prim算法)
- poj1258--最小生成树prim算法实现
- 最小生成树 Prim算法 POJ1258题解
- poj1258 - Agri-Net (经典邻接矩阵 求最小生成树) (Prim & Kruskal)
- POJ1258->最小生成树
- vue.js从入门到放弃2--官方文档阅读笔记
- Django 之 (7)Django与JS交互
- java web 实现验证码
- 《三体》诗歌两首——第四维度的鱼
- ffmpeg生成ffplay问题
- poj1258(最小生成树 kruskal算法)
- 【C语言】栈和栈帧,以及栈帧创建和销毁的过程
- Leetcode005. Longest Palindromic Substring
- 关于wamp的某些问题
- 《机器学习》+周志华+第五章习题+5.5实现标准BP算法和累积BP算法
- HTTP 严格传输安全(HSTS)
- bash脚本筛选出根目录下所有ELF文件,并将路径输出
- AC自动机
- 在MyEclipse中修改注释模板