POJ 1861
来源:互联网 发布:安卓线刷软件 编辑:程序博客网 时间:2024/04/20 16:36
【题目分析】
最小生成树。
【代码】
#include <cstdio>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int n,m,cnt=0,ans;int fr[15001],to[15001],w[15001];int f[15001],rank[15001],in[15001];inline bool cmp(int a,int b){return w[a]<w[b];}inline int gf(int k){if (f[k]==k) return k; else return f[k]=gf(f[k]);}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=m;++i) scanf("%d%d%d",&fr[i],&to[i],&w[i]); for (int i=1;i<=n;++i) f[i]=i; for (int i=1;i<=m;++i) rank[i]=i; sort(rank+1,rank+m+1,cmp); for (int i=1;i<=m;++i) { int l=fr[rank[i]],r=to[rank[i]]; int fl=gf(l),fr=gf(r); if (fl!=fr) { ans=w[rank[i]]; f[fl]=fr; in[rank[i]]=1; cnt++; if (cnt==n-1) break; } } printf("%d\n%d\n",ans,n-1); for (int i=1;i<=m;++i) if (in[i]) printf("%d %d\n",fr[i],to[i]);}
0 0
- poj 1861
- POJ 1861
- poj 1861
- POJ 1861
- poj 1861
- poj 1861
- poj-1861
- POJ 1861
- poj 1861
- POJ 1861
- POJ 1861
- POJ 1861 Networks
- POJ 1861 Network
- poj 1861 Network
- POJ 1861 Network
- poj 1861 network
- poj 1861 network
- poj 1861 network
- 【iOS开发】更改App图标下方显示的名称
- vi编辑器(字符编辑器)
- 43. Json
- php数组的顺序查找和二分查找
- 进程和线程句柄和ID之间转换函数
- POJ 1861
- Android学习笔记之AndroidManifest.xml文件解析
- MongoDB 数据分发
- WINDOWS下VIM配置
- Linux-C基础知识学习:C语言作业-输入某个学生的信息(姓名,年龄,5门功课成绩),计算平均成绩并输出。(待完善)
- gcc编译器
- RQNOJ-19 篝火晚会
- 尝试做新事情30天-阅读架构即未来02
- 一步步学OpenGL(7) - 《旋转变换》