wikioi p1078 最小生成树
来源:互联网 发布:python 爬虫 伯乐在线 编辑:程序博客网 时间:2024/06/06 00:02
恩,最小生成树。
用的克鲁斯卡的算法,善用并查集。
#include<stdio.h>#include<iostream>#include<memory.h>#include<algorithm>using namespace std;const int MAX_N =101;struct node {int s,t,d;}R[MAX_N*MAX_N]; int N;int M;int ans=0;int T[MAX_N];int cmp(const node a,const node b){if (a.d<b.d) return 1;else return 0;}int init(){scanf("%d",&N);M=0;int i,j;for (i=1;i<=N;i++)for (j=1;j<=N;j++){M++;scanf("%d",&R[M].d);R[M].s=i;R[M].t=j;if(!R[M].d) M--;}sort(R+1,R+M+1,cmp);memset(T,-1,sizeof(T));}int findR(int t){if (T[t]==-1) return t;else return T[t]=findR(T[t]);}int work(){int l=0;int i=1;while(i<=M&&l<N-1){int x=findR(R[i].s);int y=findR(R[i].t);if(x!=y){l++;ans+=R[i].d;T[x]=y;} i++;}}int put(){printf("%d",ans);}int main(){init();work();put();return 0; }
- wikioi p1078 最小生成树
- wikioi 1078 最小生成树
- 【wikioi】1078最小生成树 floyd 40分C源码
- 【wikioi】1078最小生成树 prim 100分C源码
- wikioi-天梯-通过初赛-最小生成树-1078:最小生成树
- 【wikioi】1078最小生成树 floyd 改 仍40分代码
- wikioi-天梯-通过初赛-最小生成树-1231:最优布线问题
- wikioi 最小乘车费用
- 最小比例 最小生成树
- 最小生成树&&次最小生成树
- 最小生成生成树计数
- 树+最小生成树
- 最小生成树
- 最小生成树 MST
- 最小生成树Kruskal
- kruskal 最小生成树
- 最小生成树
- 最小生成树
- HDU 3551 Hard Problem 一般图的最大匹配(带花树)
- 使用getNamedDispatcher()转发请求
- hdu 1568 Fibonacci 斐波那契通项公式求对数
- [LeetCode] Merge Sorted Array
- 高并发的epoll+多线程
- wikioi p1078 最小生成树
- LeetCode - Permutation Sequence
- 机房收费系统-- MDI子窗体显示技巧(续vb.net版)
- wikioi p1231 最优布线问题
- VB.net学习之模块、单例模式和Shared静态类成员
- Laplace 平滑
- Marklogic 一个递归方法的实现
- C# System.IO命名空间
- 控件属性: