1. #include<iostream>
  2. #include<stdio.h>
  3. #include<algorithm>
  4. #include<math.h>
  5. using namespace std;
  6. int par[];
  7. struct Island
  8. {
  9. int x,y;
  10. } isl[];
  11. struct Node
  12. {
  13. int isl1,isl2;
  14. double dis;
  15. } rode[*/];
  16. int find(int a)
  17. {
  18. if(a!=par[a])
  19. {
  20. par[a]=find(par[a]);
  21. }
  22. return par[a];
  23. }
  24. void build(int a,int b)
  25. {
  26. int fa=find(a);
  27. int fb=find(b);
  28. if(fa!=fb)
  29. {
  30. par[fb]=fa;
  31. }
  32. }
  33. bool cmp(Node a,Node b)
  34. {
  35. return a.dis<b.dis;
  36. }
  37. int main()
  38. {
  39. int t;
  40. scanf("%d",&t);
  41. while(t--)
  42. {
  43. int c;
  44. scanf("%d",&c);
  45. if(c == || c == ) {printf("oh!\n"); continue;}
  46. for(int i=; i<c; i++)
  47. par[i]=i;
  48. int num=c*(c-)/;
  49. for(int i=; i<c; i++)
  50. {
  51. scanf("%d%d",&isl[i].x,&isl[i].y);
  52. }
  53. int t=;
  54. for(int i=; i<c; i++)
  55. {
  56. for(int j=i+; j<c; j++)
  57. {
  58. 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));
  59. if(mid<||mid>) continue;
  60. else
  61. {
  62. rode[t].isl1=i;
  63. rode[t].isl2=j;
  64. rode[t].dis=sqrt(mid);
  65. t++;
  66. }
  67. }
  68. }
  69. //cout<<t<<" num " <<num;
  70. double ans=0.0;
  71. int cnt=;
  72. sort(rode,rode+t,cmp);
  73. for(int i=;i<t;i++)
  74. {
  75. if(find(rode[i].isl1)!=find(rode[i].isl2))
  76. {
  77. ans+=rode[i].dis;
  78. build(rode[i].isl1,rode[i].isl2);
  79. cnt++;
  80. }
  81. }
  82. ans*=;
  83. if(cnt!=c-) printf("oh!\n");
  84. else printf("%.1lf\n",ans);
  85. }
  86. return ;
  87. }
 
畅通工程再续

Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

Description

相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为了节省资金,只要求实现任意2个小岛之间有路通即可。其中桥的价格为 100元/米。
 

Input

输入包括多组数据。输入首先包括一个整数T(T <= 200),代表有T组数据。 
每组数据首先是一个整数C(C <= 100),代表小岛的个数,接下来是C组坐标,代表每个小岛的坐标,这些坐标都是 0 <= x, y <= 1000的整数。 
 

Output

每组输入数据输出一行,代表建桥的最小花费,结果保留一位小数。如果无法实现工程以达到全部畅通,输出”oh!”.
 

Sample Input

2
2
10 10
20 20
3
1 1
2 2
1000 1000
 

Sample Output

1414.2
oh!
 
 
简单的最小生成树,先把所有的可能的桥找出来,然后最小生成树。

hud 1785 畅通工程的更多相关文章

  1. HDU 1233 还是畅通工程(最小生成树)

    传送门 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  2. 所有的畅通工程[HDU1232][HDU1874][HDU1875][HDU1879]

    畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...

  3. 畅通工程[HDU1863]

    畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio ...

  4. 还是畅通工程[HDU1233]

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  5. 畅通工程续——E

    E. 畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让 ...

  6. 畅通工程——D

    D. 畅通工程 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的 ...

  7. HDU-1233 还是畅通工程

    Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...

  8. HDU - 1232 畅通工程

    Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道 ...

  9. HDU1232 畅通工程 并查集

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

随机推荐

  1. 在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 ...

  2. IOS开发中滑动页面时NSTimer停止的问题

    我们在做倒计时的时候,发现当你手指按着屏幕不放,拖动tableView滑动的时候,写在cell上得倒计时停止倒计时,松开继续倒计时.研究发现就是拖动tableView滑动时,NSTimer停止了. 这 ...

  3. 用 Java 实现断点续传 (HTTP)

    断点续传的原理 其实断点续传的原理很简单,就是在 Http 的请求上和一般的下载有所不同而已. 打个比方,浏览器请求服务器上的一个文时,所发出的请求如下: 假设服务器域名为 wwww.sjtu.edu ...

  4. Mac OS X【快捷键组合】汇总

    以下是可能会出现在 OS X 菜单中的修饰键符号: ⌘—— () ⌃ ——Control ⌥—— (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是fn 启动快捷键 按下按键 ...

  5. cocos2dx+lua注册事件函数详解

    coocs2dx 版本 3.1.1 registerScriptTouchHandler 注册触屏事件 registerScriptTapHandler 注册点击事件 registerScriptHa ...

  6. Swift Tour 随笔总结 (2)

    Type Aliases typealias AudioSample = UInt16 Booleans 非boolean值不会被替代为bool,例如: let i = 1 if i { // thi ...

  7. Memcached的配置和使用

    1.下载windows版本,64位下载地址: http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip ...

  8. java笔记--枚举总结与详解

    由于工作原因,已经有两礼拜没有更新博客了,好不容易完成了工作项目,终于又可以在博客园上愉快的玩耍了. 嗯,今天下午梳理了一下关于java枚举的笔记,比较长,不过还是觉得挺厚实的,哈哈,有出入的地方,欢 ...

  9. PPTP服务器配置选项详解

    导读 PPTP服务器配置文件的格式与其它许多Unix程序相似,每一行包含一项配置内容,以配置选项名称开始,后面紧跟参数值或者关键字,它们之间用空格分隔.在读取配置文件时,pptpd进程将忽略空行和每一 ...

  10. 【云计算】开源的Docker Registry WebUI

    kwk/docker-registry-frontend   Code       Issues         9       Pull requests       6       Wiki   ...