Hud 1863 畅通工程[MST(kruscal)]
来源:互联网 发布:蔡司三坐标软件 编辑:程序博客网 时间:2024/06/11 05:10
题目连接:点击打开链接
最简单的最小生成树(WA了2次,对路的排序出了点错)。
#include<cstdio>#include<algorithm>using namespace std;const int Max=5000;const int N=105;int n,m,father[N];struct Rode{ int a,b; int lenth;}rode[Max];void Init(){ for(int i=0;i<=n;i++) father[i]=i;}bool cmp(Rode a,Rode b){ if(a.lenth<b.lenth) return true; return false;}int find(int x){ if(x!=father[x]) father[x]=find(father[x]); return father[x];}int kruscal(){ int min=0; sort(rode,rode+m,cmp);//这里的开始排了n条路. for(int i=0;i<m;i++) { int x=find(rode[i].a); int y=find(rode[i].b); if(x!=y) { father[x]=y; min+=rode[i].lenth; } } int f=find(n),k=0; for(int i=1;i<=n;i++) if(find(i)==f) k++; if(k==n) return min; else return -1;}int main(){ while(scanf("%d%d",&m,&n)&&m) { Init(); for(int i=0;i<m;i++) scanf("%d%d%d",&rode[i].a,&rode[i].b,&rode[i].lenth); int flag=kruscal(); if(flag!=-1) printf("%d\n",flag); else printf("?\n"); }}
又一次WA在了细节上。
- Hud 1863 畅通工程[MST(kruscal)]
- Hud 1879 继续畅通工程[最小生成树(Kruscal)]
- [MST]HDU 1863 畅通工程
- 杭电 1863 畅通工程(kruscal)
- Hud 1162 Eddy's picture[MST(kruscal)]
- HDU -- 1863 畅通工程 (mst)
- hdu 1863 畅通工程(MST,prim)
- 继续畅通工程(MST)
- 畅通工程(MST)
- 畅通工程(MST)
- HDU 1863 畅通工程(prim,kruscal,并查集)
- 杭电-1863 畅通工程(并查集+Kruscal)
- HDU 1863 畅通工程 (最小生成树--Kruscal、Prim)
- hud- 畅通工程再续
- HUD 1233 还是畅通工程
- hud-1863-畅通工程(最小生成树)
- 畅通工程再续(MST)
- 还是畅通工程(MST)
- android sdk manager 无法更新解决方法
- TIFF文件读出页数
- uva 10397 - Connect the Campus(最小生成树&并查集)
- 连接access数据库
- 回 家
- Hud 1863 畅通工程[MST(kruscal)]
- 图像处理与计算机视觉 基础、经典以及最近发展
- PHP UNICODE 转 UTF8
- C#操作符重载
- php表单提交时的身份证号码验证
- 【捡肥皂】Microsoft SQL Server 2000 MSSQL2000下载中文企业版个人版免费下载
- python学习笔记1
- 使用受限的随机游动进行交互式网格切割
- UILabel的各种属性与方法的使用(转)