zoj-1203-kruskal-C++
来源:互联网 发布:淘宝网登陆页面 编辑:程序博客网 时间:2024/06/08 14:27
PS(代码打得不好,所以认真写几道ACM的题吧。。数据机构划水全忘了,一点点补吧。)
认真的告诉自己:我是真的菜,多打代码。
zoj1203 最小生成树 kruskal方法
#include "stdafx.h"#include<iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>#include<iomanip>using namespace std;#define MAX 10100int parent[110];double x[110], y[110];double ans = 0.0;int cnt;struct Edge {int u, v;double w;}EG[MAX];int Find(int x){return (parent[x] == -1) ? x : Find(parent[x]);}bool cmp(Edge a, Edge b){return a.w < b.w;}void Kruskal(){ans = 0.0;memset(parent, -1, sizeof(parent));sort(EG, EG + cnt, cmp);//从最小权值开始考虑 like priority_queuefor (int i = 0; i < cnt; i++){/*判断任意一条边的两个段顶点是否来自同一个连通分量即加上了这条边是否形成回路:没有形成回路就加上去*/int t1 = Find(EG[i].u);int t2 = Find(EG[i].v);if (t1 != t2){ans += EG[i].w;parent[t1] = t2;}}}int main(){int n,cas=0;while (cin >>n && n!= 0){for (int i = 0; i < n; i++){cin >> x[i] >> y[i];}cnt = 0;//边的数量for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){EG[cnt].u = i;EG[cnt].v = j;EG[cnt].w = sqrt((x[i] - x[j])*(x[i] - x[j]) + (y[i] -y[j])*(y[i] - y[j]));cnt++;}}Kruskal();if (cas > 0)cout << endl;cout << "Case #" << ++cas << ":" << endl;cout << "The minimal distance is: " << setiosflags(ios::fixed) <<setprecision(2) << ans << endl;}return 0;}
0 0
- ZOJ 1203 Kruskal
- kruskal(2)-zoj-1203
- zoj 1203 (Kruskal)
- zoj-1203-kruskal-C++
- ZOJ 1203 Swordfish(Kruskal 最小树)
- zoj 1203 kruskal+并查集
- ZOJ 1203 Swordfish(最小生成树 kruskal)
- zoj 2048 Highways(Kruskal~)
- zoj 1542 【Kruskal算法】
- zoj 1542 Network【kruskal】
- ZOJ 2048 Highways【kruskal】
- ZOJ 1542 Kruskal
- ZOJ 1914 Prim Kruskal
- zoj 1203 Swordfish (kruskal 克鲁斯卡尔)
- zoj 1203 Swordfish 【最小生成树 kruskal && prim】
- ZOJ 1406 Jungle Roads (kruskal)
- zoj 3204 Connect them(Kruskal)
- zoj 1586 QS Network【kruskal】
- [李景山php] html css JavaScript jquery试题库
- Webstorm2017中安装Less编译插件
- 协方差的含义
- .NET PPT控件 Spire.Presentation for .NET v2.8发布 | 附下载
- jstat用法
- zoj-1203-kruskal-C++
- Mac /etc目录下文件示例
- 5.5日学习日志
- 你会淹没在数据湖中吗?
- MYSQL IF 和 IFNULL 函数 IF(expr1,expr2,expr3) IFNULL(expr1,expr2)
- 生成JSON数据--官方方法
- Alpha通道?Mat和IplImage访问像素、uchar、Scalar?
- SpringSecurity3整合CAS实现单点登录
- 微信公众账号开发