hdu 1301(最小生成树kruskal)
来源:互联网 发布:java事务的隔离级别 编辑:程序博客网 时间:2024/06/06 08:03
题目的意思是看的别人的解题报告,但代码是自己写的
#include <iostream>#include <algorithm>using namespace std;int u[100],v[100],w[100],f[27],r[100];int getf(int x){ return f[x] == x ? x : (f[x] = getf(f[x]));}int cmp(const int i,const int j){return w[i] < w[j];}int main(){ int t,n,nums,i,index,sum; char startAlpha,trueAlpha,endAlpha,tendAlpha; while(cin >> n && n) { sum = 0; index = 0; for(t = 1; t < n; ++t) { cin >> startAlpha; trueAlpha = startAlpha - 'A'; cin >> nums; for(i = 0; i < nums; ++i) { cin >> endAlpha; tendAlpha = endAlpha - 'A'; u[index] = trueAlpha; v[index] = tendAlpha; cin >> w[index]; ++index; } } //初始化并查集 for(i = 0; i < 26; ++i) f[i] = i; //初始化边序号 for(i = 0; i < index; ++i) r[i] = i; //按权值从小到大排序 sort(r,r+index,cmp); //index就是边的个数 for(i = 0; i < index; ++i) { int e = r[i]; int x = getf(u[e]); int y = getf(v[e]); if(x != y) { sum += w[e]; f[x] = y; } } cout << sum << endl; } return 0;}
0 0
- hdu 1301(最小生成树kruskal)
- 最小生成树(kruskal) hdu 1233
- HDU 4786(最小生成树 kruskal)
- HDU 1301 Jungle Roads (最小生成树)kruskal
- HDU 1301 Jungle Roads (Kruskal求最小生成树)
- HDU 1301 Jungle Roads(最小生成树Kruskal)
- hdu 1301 Jungle Roads(最小生成树Kruskal)
- hdu 1301 Jungle Roads(最小生成树kruskal)
- hdu 1863 畅通工程 (最小生成树kruskal 算法)
- hdu 2988(kruskal求最小生成树)
- HDU-1162 Eddy's picture(最小生成树[Kruskal])
- HDU-4786 Fibonacci Tree(最小生成树[Kruskal])
- HDU 1233 还是畅通工程(最小生成树Kruskal)
- hdu 1863 畅通工程(最小生成树,kruskal)
- HDU 5253 最小生成树(kruskal)+ 并查集
- HDU 1879 继续畅通工程(最小生成树Kruskal)
- HDU 5624 KK's Reconstruction(最小生成树-Kruskal)
- HDU 1233 还是畅通工程 (最小生成树 Kruskal)
- JavaWeb相关技术简介
- CString、BSTR和LPCTSTR之间的区别
- 为什么要重写equals方?重写equals方法一定要重写HashCode方法?
- CityMaker研修之路 02 伟景行(CityMaker)的倾斜之路
- 社区轻量级
- hdu 1301(最小生成树kruskal)
- 给大一ACM队员的四个问题答复
- 如何通过Html生成JSON格式字符串
- Linux字符设备驱动
- 欢迎使用CSDN-markdown编辑器
- eclipse 第一个Java程序
- UBOOT 常用 COMMAND
- Tomcat下使用虚拟主机将项目部署成顶级域名
- 物体碰撞说明(当鼠标放在某一地方,显示此物体的Tag)