hud 1785 畅通工程
- #include<iostream>
- #include<stdio.h>
- #include<algorithm>
- #include<math.h>
- using namespace std;
- int par[];
- struct Island
- {
- int x,y;
- } isl[];
- struct Node
- {
- int isl1,isl2;
- double dis;
- } rode[*/];
- int find(int a)
- {
- if(a!=par[a])
- {
- par[a]=find(par[a]);
- }
- return par[a];
- }
- void build(int a,int b)
- {
- int fa=find(a);
- int fb=find(b);
- if(fa!=fb)
- {
- par[fb]=fa;
- }
- }
- bool cmp(Node a,Node b)
- {
- return a.dis<b.dis;
- }
- int main()
- {
- int t;
- scanf("%d",&t);
- while(t--)
- {
- int c;
- scanf("%d",&c);
- if(c == || c == ) {printf("oh!\n"); continue;}
- for(int i=; i<c; i++)
- par[i]=i;
- int num=c*(c-)/;
- for(int i=; i<c; i++)
- {
- scanf("%d%d",&isl[i].x,&isl[i].y);
- }
- int t=;
- for(int i=; i<c; i++)
- {
- for(int j=i+; j<c; j++)
- {
- double mid=double((isl[i].x-isl[j].x)*(isl[i].x-isl[j].x)+(isl[i].y-isl[j].y)*(isl[i].y-isl[j].y));
- if(mid<||mid>) continue;
- else
- {
- rode[t].isl1=i;
- rode[t].isl2=j;
- rode[t].dis=sqrt(mid);
- t++;
- }
- }
- }
- //cout<<t<<" num " <<num;
- double ans=0.0;
- int cnt=;
- sort(rode,rode+t,cmp);
- for(int i=;i<t;i++)
- {
- if(find(rode[i].isl1)!=find(rode[i].isl2))
- {
- ans+=rode[i].dis;
- build(rode[i].isl1,rode[i].isl2);
- cnt++;
- }
- }
- ans*=;
- if(cnt!=c-) printf("oh!\n");
- else printf("%.1lf\n",ans);
- }
- return ;
- }
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
Input
每组数据首先是一个整数C(C <= 100),代表小岛的个数,接下来是C组坐标,代表每个小岛的坐标,这些坐标都是 0 <= x, y <= 1000的整数。
Output
Sample Input
2
10 10
20 20
3
1 1
2 2
1000 1000
Sample Output
oh!
hud 1785 畅通工程的更多相关文章
- HDU 1233 还是畅通工程(最小生成树)
传送门 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 所有的畅通工程[HDU1232][HDU1874][HDU1875][HDU1879]
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...
- 畅通工程[HDU1863]
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio ...
- 还是畅通工程[HDU1233]
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- 畅通工程续——E
E. 畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让 ...
- 畅通工程——D
D. 畅通工程 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的 ...
- HDU-1233 还是畅通工程
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...
- HDU - 1232 畅通工程
Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道 ...
- HDU1232 畅通工程 并查集
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
随机推荐
- 在Windows的Tomcat环境下部署Solr 4.7.0
主要步骤如下: 1.下载solr-4.7.0.tgz; 2.解压缩solr-4.7.0.tgz,解压后目录结构如下: 3.将example/webapps目录下的solr.war复制到tomcat的w ...
- IOS开发中滑动页面时NSTimer停止的问题
我们在做倒计时的时候,发现当你手指按着屏幕不放,拖动tableView滑动的时候,写在cell上得倒计时停止倒计时,松开继续倒计时.研究发现就是拖动tableView滑动时,NSTimer停止了. 这 ...
- 用 Java 实现断点续传 (HTTP)
断点续传的原理 其实断点续传的原理很简单,就是在 Http 的请求上和一般的下载有所不同而已. 打个比方,浏览器请求服务器上的一个文时,所发出的请求如下: 假设服务器域名为 wwww.sjtu.edu ...
- Mac OS X【快捷键组合】汇总
以下是可能会出现在 OS X 菜单中的修饰键符号: ⌘—— () ⌃ ——Control ⌥—— (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是fn 启动快捷键 按下按键 ...
- cocos2dx+lua注册事件函数详解
coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHa ...
- Swift Tour 随笔总结 (2)
Type Aliases typealias AudioSample = UInt16 Booleans 非boolean值不会被替代为bool,例如: let i = 1 if i { // thi ...
- Memcached的配置和使用
1.下载windows版本,64位下载地址: http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip ...
- java笔记--枚举总结与详解
由于工作原因,已经有两礼拜没有更新博客了,好不容易完成了工作项目,终于又可以在博客园上愉快的玩耍了. 嗯,今天下午梳理了一下关于java枚举的笔记,比较长,不过还是觉得挺厚实的,哈哈,有出入的地方,欢 ...
- PPTP服务器配置选项详解
导读 PPTP服务器配置文件的格式与其它许多Unix程序相似,每一行包含一项配置内容,以配置选项名称开始,后面紧跟参数值或者关键字,它们之间用空格分隔.在读取配置文件时,pptpd进程将忽略空行和每一 ...
- 【云计算】开源的Docker Registry WebUI
kwk/docker-registry-frontend Code Issues 9 Pull requests 6 Wiki ...