题目链接:http://acm.hrbeu.edu.cn/index.php?act=problem&id=1223

  1. #include <cstdio>
  2. #include <cmath>
  3. #include <algorithm>
  4. #include <iostream>
  5. #include <cstring>
  6. #include <queue>
  7. #include <vector>
  8.  
  9. #define maxn 115
  10. using namespace std;
  11.  
  12. const int INF = 0x3f3f3f;
  13.  
  14. struct Point{
  15. double x,y;
  16. bool operator < (const Point & rh) const{
  17. return y < rh.y || (y == rh.y && x < rh.x);
  18. }
  19. }p[maxn];
  20. int n;
  21. double ans;
  22. double G[maxn][maxn];
  23.  
  24. double calculate(int i,int j){
  25. double xx = p[j].x - p[i].x;
  26. double yy = p[j].y - p[i].y;
  27. return sqrt(xx*xx + yy*yy);
  28. }
  29.  
  30. void prim(){
  31. bool vis[maxn];
  32. double lowdist[maxn];
  33. double mindist;
  34. memset(vis,,sizeof(vis));
  35. for(int i=;i<=n;i++) lowdist[i]=INF;
  36. int point;
  37. int s=;
  38. vis[s] =true;
  39. int num=;
  40. while(true){
  41. if(num == n) break;
  42. vis[s]=true;
  43. mindist = INF;
  44. for(int i=;i<=n;i++){
  45. if(!vis[i] && lowdist[i] > G[s][i]){
  46. lowdist[i] = G[s][i];
  47. }
  48. if(!vis[i] && mindist > lowdist[i]){
  49. mindist=lowdist[i];
  50. point = i;
  51. }
  52. }
  53. s = point;
  54. ans += mindist;
  55. num++;
  56. }
  57. return;
  58. }
  59. int main()
  60. {
  61. // if(freopen("input.txt","r",stdin)== NULL) {printf("Error\n"); exit(0);}
  62.  
  63. while(scanf("%d",&n)== && n){
  64. for(int i=;i<=n;i++){
  65. scanf("%lf%lf",&p[i].x,&p[i].y);
  66. }
  67. for(int i=;i<=n;i++)
  68. for(int j=i+;j<=n;j++){
  69. G[i][j] = G[j][i] = calculate(i,j);
  70. }
  71. ans = ;
  72. //print();
  73. prim();
  74. printf("%.2lf\n",ans);
  75. }
  76. }

prim模板题的更多相关文章

  1. POJ 1258 Agri-Net 【Prime】模板题

    题目链接>>> 题目大意:     给你N*N矩阵,表示N个村庄之间的距离.FJ要把N个村庄全都连接起来,求连接的最短距离(即求最小生成树).解析如下: #include <c ...

  2. POJ 1258:Agri-Net Prim最小生成树模板题

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 45050   Accepted: 18479 Descri ...

  3. poj 1679 The Unique MST (次小生成树模板题)

    Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...

  4. [AHOI 2009] 维护序列(线段树模板题)

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小 ...

  5. HDU 2222 AC自动机模板题

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=2222 AC自动机模板题 我现在对AC自动机的理解还一般,就贴一下我参考学习的两篇博客的链接: http: ...

  6. POJ2774 & 后缀数组模板题

    题意: 求两个字符串的LCP SOL: 模板题.连一起搞一搞就好了...主要是记录一下做(sha)题(bi)过程心(cao)得(dan)体(xin)会(qing) 后缀数组概念...还算是简单的,过程 ...

  7. HDU 1251 Trie树模板题

    1.HDU 1251 统计难题  Trie树模板题,或者map 2.总结:用C++过了,G++就爆内存.. 题意:查找给定前缀的单词数量. #include<iostream> #incl ...

  8. HDU-3549 最大流模板题

    1.HDU-3549   Flow Problem 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 3.总结:模板题,参考了 http://ww ...

  9. HDU 4280:Island Transport(ISAP模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=4280 题意:在最西边的点走到最东边的点最大容量. 思路:ISAP模板题,Dinic过不了. #include & ...

随机推荐

  1. hdoj 1251 字典树

    代码: #include <stdio.h>#define  MAX    26 typedef struct TrieNode{     int nCount;      struct ...

  2. 【转】无废话WCF系列教程

    转自:http://www.cnblogs.com/iamlilinfeng/category/415833.html     看后感:这系列的作者李林峰写得真的不错,通过它的例子,让我对WCF有了一 ...

  3. SGU 194. Reactor Cooling(无源汇有上下界的网络流)

    时间限制:0.5s 空间限制:6M 题意: 显然就是求一个无源汇有上下界的网络流的可行流的问题 Solution: 没什么好说的,直接判定可行流,输出就好了 code /* 无汇源有上下界的网络流 * ...

  4. 【技术宅3】截取文件和url扩展名的N种方法

    //截取文件扩展名的N种方法   //第1种 //strrchr() 函数查找字符在指定字符串中最后一次出现的位置,如果成功,则返回其后面的字符串 //返回带有点的扩展名 function get_e ...

  5. Android 应用层知识纲要

    Java基础 * 面向对象 * Java集合框架 * 异常处理 * Java反射, Spring框架,通过反射实现 * 泛型, 静态变成语言 * 文件操作 Android基础 * Activity * ...

  6. arm-none-eabi-gcc install

    Zephyr除了官方的编译工具,还有第三方工具 arm-none-eabi-gcc . This PPA is an alternative to toolchain released at http ...

  7. 欧拉计划(1~3)ps:以后看题一定要认真

    那天的题挺简单的 下面来看下 No1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get ...

  8. Raspberry PI(树莓派)安装ZMAP

    以前配置树莓派安装ZMAP一直没有装成功,今天又试了下,装成功了,记录下. Good Job. Zmap地址: https://zmap.io/documentation.html step1: gi ...

  9. java的"=="与"equals"

    equals 方法是 java.lang.Object 类的方法. 有两种用法说明: (1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同. “==”比较两个变 ...

  10. DB2 replace into实现

    最近进入到另一个项目, 数据库用的是DB2, 要实现MySQL中类似replace into的功能, 网上搜了下, 实现了一个类似功能的基础方法(PHP实现) public function repl ...