POJ1861&ZOJ1542--Network【最小生成树】
来源:互联网 发布:数据库limit的用法 编辑:程序博客网 时间:2024/06/11 20:50
链接:http://poj.org/problem?id=1861
最小生成树裸题,输出生成树的最长边、节点个数、节点坐标。另外OJ上样例输出时错的,4个点的最小生成树怎么可能4条边。。
主要是熟悉手写kruskal
#include<cstring>#include<string>#include<fstream>#include<iostream>#include<iomanip>#include<cstdio>#include<cctype>#include<algorithm>#include<queue>#include<map>#include<set>#include<vector>#include<stack>#include<ctime>#include<cstdlib>#include<functional>#include<cmath>using namespace std;#define PI acos(-1.0)#define MAXN 20010#define eps 1e-7#define INF 0x7FFFFFFF#define seed 131#define ll long long#define ull unsigned ll#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1struct node{ int u,v,dis;}edge[MAXN];int father[1010],point[1010][2];int n,m,ans,sum;bool cmp(node x,node y){ return x.dis<y.dis;}int find(int x){ int t = x; while(t!=father[t]){ t = father[t]; } int k = x; while(k!=t){ int temp = father[k]; father[k] = t; k = temp; } return t;}void kruskal(){ int i,j=0; for(i=1;i<=n;i++) father[i] = i; for(i=0;i<m;i++){ int a = find(edge[i].u); int b = find(edge[i].v); if(a!=b){ father[a] = b; point[j][0] = edge[i].u; point[j][1] = edge[i].v; sum+=edge[i].dis; ans = edge[i].dis; j++; if(j>=n-1) break; } }}int main(){ int i,j; while(scanf("%d%d",&n,&m)!=EOF){ sum = 0; for(i=0;i<m;i++){ scanf("%d%d%d",&edge[i].u,&edge[i].v,&edge[i].dis); } sort(edge,edge+m,cmp); kruskal(); printf("%d\n%d\n",ans,n-1); for(i=0;i<n-1;i++){ printf("%d %d\n",point[i][0],point[i][1]); } } return 0;}
0 0
- POJ1861&ZOJ1542--Network【最小生成树】
- poj1861/zoj1542 (最小生成树krusual)
- poj1861--Network(最小生成树)
- POJ1861 Network(最小生成树)
- poj1861 Network(kruskal求最小生成树)
- POJ1861 - Network (并查集,最小生成树)
- poj1861 最小生成树 prim & kruskal
- 最小生成树(poj1251 poj1861 poj1789)
- poj1861最小生成树(并查集)-kruskal算法
- poj1861 最小生成树和并查集的题
- POJ 1861||ZOJ1542 kruskal求最小生成树(POJ秒杀啊)
- POJ1861 Network
- poj1861 - Network
- POJ1861 Network
- poj1861 Network
- poj1861 Network
- POJ1861 Network
- poj1861 Network
- HDOJ 题目1176 免费馅饼(动态规划)
- Codeforces Round #259 (Div. 2) C. Little Pony and Expected Maximum (找规律)
- ZOJ-1259
- 随机
- Java杂谈之正则表达式--日期,邮箱,数字验证
- POJ1861&ZOJ1542--Network【最小生成树】
- HDU_4515 小Q系列故事——世界上最遥远的距离
- SPOOL sql语句实现LOOP循环转储多文件
- Ajax+jquery+jaso传输数据
- 快速排序的非递归实现
- hdu 2099 整除的尾数(水题)
- 【Codeforeces】【#259】【Div.2】
- actionbar强制显示overflow menu
- SPRING security添加验证码的三种方式