题意:给你n个城市的坐标,要求你输出连通所有城市的最小线路长度。

思路:最小生成树。注意每两个样例之间有换行。

#include <cstdio>
#include <cmath>
#include <iostream>
#include <cstring>
#include <algorithm>
#define MAXN 105
using namespace std;
struct Edge
{int a,b;double weight;
};
bool cmp(Edge x,Edge y)
{return x.weight<y.weight;
}
int father[MAXN];
int find(int p)
{return p==father[p]?p:(father[p]=find(father[p]));
}
int main()
{int n,kase=0;while(scanf("%d",&n)&&n){double x[MAXN],y[MAXN];for(int i=0; i<n; ++i)scanf("%lf%lf",&x[i],&y[i]);Edge p[MAXN*MAXN];int nn=0;for(int i=0; i<n; ++i)for(int j=i+1; j<n; ++j){p[nn].a=i;p[nn].b=j;p[nn++].weight=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));}sort(p,p+nn,cmp);for(int i=0; i<=n; ++i)father[i]=i;double ans=0;for(int i=0; i<nn; ++i){int ta=p[i].a,tb=p[i].b;if(find(ta)!=find(tb)){ans+=p[i].weight;father[find(ta)]=find(father[tb]);}}if(kase) printf("\n");printf("Case #%d:\n",++kase);printf("The minimal distance is: %.2lf\n",ans);}return 0;
}

ZOJ:1203 Swordfish相关推荐

  1. zoj 1203 Swordfish

    链接:zoj 1203 题意:输入n个城市的坐标,输出使n个城市连通的最短路线的长度 分析:通过坐标能够将两两之间的长度即权值算出,再用最小生成树的算法 只是这个题要注意输出时的格式问题,两组数据间要 ...

  2. ZOJ - 1203 Swordfish(最短路)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1203点击打开链接 Swordfish Time Limit: 2 ...

  3. ZOJ 1203 Swordfish(最小生成树 kruskal)

    题意  给你n个点的坐标  每个点都可与其它n-1个点相连  求这n个点的最小生成树的权重 裸的最小生成树  直接kruskal咯 #include<cstdio> #include< ...

  4. 【ember zigbee】序章:协议栈相关文档学习笔记

    原文地址:https://blog.csdn.net/tainjau/article/details/90648114 文章目录 写在前面 一.材料出处 二.文档解析 2.1.EZSP Protoco ...

  5. POJ ZOJ题目分类

    POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...

  6. POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)

    水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法:        (1)枚举 (1753,2965)       (2)贪心(13 ...

  7. ZOJ 题目分类,学校的一个巨巨做的。

     DP: 1011      NTA                    简单题 1013      Great Equipment        简单题 1024      Calendar ...

  8. poj题目详细分类及算法推荐题目

    DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题  ...

  9. ACM POJ 题目分类(完整整理版本)

    DP: 1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题   ...

最新文章

  1. 消息确认机制---confirm异步
  2. Storm中并行度原来是这样计算的(1.0.1版本)
  3. caffe 关于Deconvolution的初始化注意事项
  4. cv2 imshow窗口大小_cv2.imshow()图片无法显示
  5. java 接口表单提交_Java http 调用接口提交表单以及文件
  6. comparator 字符串比较大小_Java中Comparable和Comparator实现对象比较
  7. 工作中 99% 会用到的 Git 命令
  8. 用AsyncTask来获取网络图片
  9. 【AD】mm,mile,inch+电流大小同线宽关系
  10. python中main函数在运行中不是必须要写的_Python必备知识之“if __name__ == '__main__':”...
  11. 增强用户体验,设置快捷键
  12. 51单片机dds信号发生器 扫频 c语言,基于DDS正弦信号发生器设计.doc
  13. 网易新闻回答2021:靠差异化内容逆势增长
  14. 统计遗传学:第三章,群体遗传
  15. 深入理解C#中var关键字的用法
  16. 万年历农历程序(抄表法)
  17. oracle_sod,sod
  18. 蓝桥杯备赛(五) 双指针,BFS与图论
  19. 常用linux系统下载地址
  20. 普通大学生自学 JAVA 怎样才能进BAT大厂?

热门文章

  1. ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历
  2. Appium+Java模拟手机按键
  3. 虚拟主机cpanel面板安装thinktp,更改根目录
  4. Iocomp 5.12 SP6 ActiveX Crack
  5. 计算机二级c语言选择题及答案,全国计算机二级c语言练习题及答案
  6. win32api之进程的创建与使用(二)
  7. 【狂神说JAVA】SpringMVC笔记
  8. TortoiseGit小乌龟基本使用
  9. IOS 自动化探索——使用蓝牙实现 XCUITest 的 Tap 操作
  10. Perl 语言学习笔记 (一)