http://acm.hdu.edu.cn/showproblem.php?pid=1875

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <cmath>
  4. #include <algorithm>
  5. #define maxn 1001
  6. using namespace std;
  7. const int inf=<<;
  8.  
  9. int n;
  10. double g[maxn][maxn];
  11. bool vis[maxn];
  12. double dis[maxn];
  13. double sum;
  14. bool flag=true;
  15.  
  16. struct node
  17. {
  18. int x,y;
  19. }p[maxn];
  20.  
  21. int sqr(int x)
  22. {
  23. return x*x;
  24. }
  25.  
  26. double dist(int x1,int y1,int x2,int y2)
  27. {
  28. return sqrt(sqr(x1-x2)+sqr(y1-y2));
  29. }
  30.  
  31. void prim()
  32. {
  33. memset(vis,false,sizeof(vis));
  34. for(int i=; i<n; i++) dis[i]=g[][i];
  35. dis[]=;
  36. vis[]=true;
  37. for(int i=; i<n; i++)
  38. {
  39. double m=(double)inf;
  40. int x;
  41. for(int y=; y<n; y++) if(!vis[y]&&dis[y]<m) m=dis[x=y];
  42. if(m==inf){flag=false;break;}
  43. sum+=m;
  44. vis[x]=true;
  45. for(int y=; y<n; y++) if(!vis[y]&&dis[y]>g[x][y]) dis[y]=g[x][y];
  46.  
  47. }
  48. }
  49. int main()
  50. {
  51. int t;
  52. scanf("%d",&t);
  53. while(t--)
  54. {
  55. scanf("%d",&n);
  56. for(int i=; i<; i++)
  57. {
  58. for(int j=; j<; j++)
  59. {
  60. if(i==j) g[i][j]=;
  61. else
  62. g[i][j]=g[j][i]=inf;
  63. }
  64. }
  65. for(int i=; i<n; i++)
  66. {
  67. scanf("%d%d",&p[i].x,&p[i].y);
  68. }
  69. for(int i=; i<n; i++)
  70. {
  71. for(int j=; j<n; j++)
  72. {
  73. if(i!=j){
  74. double d=dist(p[i].x,p[i].y,p[j].x,p[j].y);
  75. if(d>=10.0&&d<=1000.0) g[i][j]=d;
  76. }
  77. }
  78. }
  79. flag=true;
  80. sum=0.0;
  81. prim();
  82. if(!flag) printf("oh!\n");
  83. else
  84. printf("%.1lf\n",(sum*));
  85. }
  86. return ;
  87. }

hdu 畅通工程再续的更多相关文章

  1. hdu 1875 畅通工程再续(prim方法求得最小生成树)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1875 /************************************************* ...

  2. HDU 1875 畅通工程再续 (prim最小生成树)

    B - 畅通工程再续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit S ...

  3. (最小生成树) 畅通工程再续 -- HDU --1875

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1875 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  4. HDU 1875 畅通工程再续 (最小生成树)

    畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  5. HDU 1875 畅通工程再续 (最小生成树)

    畅通工程再续 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/M Description 相信大家都听说一个"百岛湖&q ...

  6. HDU 1875:畅通工程再续(最小生成树)

    畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  7. HDU 1875 畅通工程再续(kruskal)

    畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. HDU - 1875_畅通工程再续

    畅通工程再续 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Desc ...

  9. hdu1875 畅通工程再续 最小生成树并查集解决---kruskal

    http://acm.hdu.edu.cn/showproblem.php?pid=1875 New~ 欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院关于2015年杭电ACM暑期集训队的 ...

随机推荐

  1. BZOJ1640: [Usaco2007 Nov]Best Cow Line 队列变换

    1640: [Usaco2007 Nov]Best Cow Line 队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 493  Solved: 2 ...

  2. USENIX 最佳论文奖:擦除 Windows Azure 存储编码

     我们发表了一篇介绍Windows Azure 存储如何用编码方式擦除数据的论文,此论文在 2012 年 6 月的 USENIX 技术年会上荣获最佳论文奖.这是 MicrosoftResearch ...

  3. openstack 手动 部署安装调试

    Virtual Interface creation failed

  4. VC用OLE方式读写Excel

    前几天要做一个项目,需要读取Excel中的数据.从网上查资料发现,主要是有两种方式.一是把Excel表当成数据库使用ODBC读写,这样操作起来就跟操作Access数据库似的.但这种方式效率比较低.另一 ...

  5. windows下php+apache+mysql环境搭建

    在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包. PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC ...

  6. rpm软件包类型

    rpm软件包 在linux世界里有两种流行的包管理方式,分别是redhat系的rpm和debian系的deb.其中rpm是RedHat Package Manager(RedHat软件包管理工具)的简 ...

  7. 锚点链接和hash属性

    相信大家挺经常见过这样一个效果.有一个很长很长的页面,分成好几部分,目录中一点击,就能定位到页面某个位置. 例如:有这样一个目录,例如你点击一下“HTML”,就会直接跳转到“HTML”的页面位置 这就 ...

  8. jquery中attr与pror

  9. (转)asp.net(C#)手记之Repeater与两级菜单

    先来张图片说明下我们要实现的菜单: 这个菜单只实现了2级哈. 我采用的方法是嵌套2个Repeater. 先看下数据库中的表结构: 数据: 上代码: aspx: <asp:Repeater ID= ...

  10. SVN中trunk,branches,tags用法详解

    原文地址:http://www.cnblogs.com/dafozhang/archive/2012/06/28/2567769.html Subversion有一个很标准的目录结构,是这样的.比如项 ...