专题四 · 1002
来源:互联网 发布:淘宝店铺如何开 编辑:程序博客网 时间:2024/05/29 04:44
代码及解释
#include <algorithm>#include <cmath>#include <cstdio>#include <iostream>// kruskal 求最小生成树,用到并查集struct Node { int x, y; double cost;} g[5005];int pre[105];int find(int n) { return n == pre[n] ? n : find(pre[n]); }bool cmp(Node a, Node b) { return a.cost < b.cost; }int main() { int n; while (scanf("%d", &n) != EOF) { int k = 0; double sum = 0; double x[105], y[105]; for (int i = 1; i <= n; i++) scanf("%lf%lf", &x[i], &y[i]); for (int i = 1; i <= n; i++) for (int j = i + 1; j <= n; j++) { g[k].x = i; g[k].y = j; g[k++].cost = sqrt(fabs((x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]))); } for (int i = 1; i <= n; i++) pre[i] = i; std::sort(g, g + k, cmp); for (int i = 0; i < k; i++) { int x = find(g[i].x); int y = find(g[i].y); double z = g[i].cost; if (x != y) { sum += z; pre[x] = y; } } printf("%.2f\n", sum); } return 0;}
0 0
- 专题四 · 1002
- 1002-B专题四
- 专题四1002
- 专题四1002
- 专题四 · 1001
- 专题四 · 1003
- 专题四 · 1004
- 专题四 · 1006
- 专题四 · 1005
- 专题四 · 1008
- 专题四 · 1009
- 专题四 · 1010
- 专题四 · 1011
- 2016sdau课程练习专题四 1002
- 3G专题四
- LDAP专题(四)
- 专题四1003
- 专题四1003
- (8)企业生产环境用户权限集中管理项目方案案例
- 将16进制数组成的字符串转换为相对应的整型值
- 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
- 4412出错内容
- eclipse debug F5 F6 快捷键失效
- 专题四 · 1002
- When running gradle with java 5, 6 or 7, you must set the path to jdk8, either with property retrola
- hadoop 第二节 单节点集群配置 Setting up a Single Node Cluster
- 解决使用findnext相关函数在64位编译环境下遍历文件夹下的文件
- (1)IP地址 : 网络号 + 主机号
- nginx配置
- Linux信号(signal) 机制分析
- csrf攻击
- android studio 的相关问题