poj 2485 Highways
2015-08-01 10:14
211 查看
答案就是最小生成树中权值最大的边
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int maxn=505; struct Edge { int from,to,w; } edge[250000+10]; int n,ans; int G[maxn][maxn]; int Father[maxn]; bool cmp(const Edge&a,const Edge&b) { return a.w<b.w; } int Find(int x) { if(x!=Father[x]) return Father[x]=Find(Father[x]); return Father[x]; } int main() { int T,j,i; scanf("%d",&T); while(T--) { scanf("%d",&n); for(i=0; i<=n; i++) Father[i]=i; int tot=0; for(i=1; i<=n; i++) for(j=1; j<=n; j++) scanf("%d",&G[i][j]); for(i=1; i<=n; i++) for(j=1; j<=n; j++) if(G[i][j]!=0) { edge[tot].from=i; edge[tot].to=j; edge[tot].w=G[i][j]; tot++; } sort(edge,edge+tot,cmp); for(i=0; i<tot; i++) { int u=edge[i].from; int v=edge[i].to; u=Find(u); v=Find(v); if(u!=v) { Father[u]=v; ans=edge[i].w; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- 2015ACM多校对抗赛第四场 hdu 5328
- 2015.8.1
- Android:相机调用与Activity生命周期
- PHP---注册界面的各种验证函数
- Eclipse常用快捷键大全
- POJ 3744 Scout YYF I 概率DP+矩阵优化
- Java集合源码解读(一):集合总体框架
- win10 删除资源管理器中的6个文件夹
- hdu 5328 Problem Killer(杭电多校赛第四场)
- 彻底弄懂计算机中的大端小端
- Android图片转换
- PostgreSql 合并多行记录
- hdu 4022 Bombing (离散化)
- JS 将当前input 转为大写
- C# socket 局域网聊天程序的一点心得
- 【排序算法】用C++实现各种排序算法
- 最精简的消息推送服务
- 2015ACM多校对抗赛第四场 hdu 5327
- iOS 宏
- 字典树模板