hdu 1875 畅通工程再续(最小生成树,prim)
来源:互联网 发布:网络十大作家排行榜 编辑:程序博客网 时间:2024/03/28 22:34
#include <stdio.h>#include <string.h>#include <math.h>#define INF 99999999#define NUM 101typedef struct point point;struct point{ int x,y;};point p[NUM];double map[NUM][NUM];double dis[NUM];int book[NUM];int T,n;double pointDistance(point p1, point p2){ return sqrt(pow(p1.x-p2.x, 2.0)+pow(p1.y-p2.y, 2.0));}void creatMap(){ int i,j; double len; for(i = 1; i <= n; ++i) for(j = i; j <= n; ++j) { len = pointDistance(p[i],p[j]); if(len >= 10 && len <= 1000) map[i][j] = map[j][i] = len; else map[i][j] = map[j][i] = INF; }}double prim(){ memset(book,0,sizeof(book)); int i,count = 0,pos; double sum = 0,min; for(i = 1; i <= n; ++i) dis[i] = map[1][i]; ++count; book[1] = 1; while(count < n) { min = INF; for(i = 1; i <= n; ++i) if(!book[i] && dis[i] < min) { min = dis[i]; pos = i; } if(min == INF) break; book[pos] = 1; ++count; sum += dis[pos]; for(i = 1; i <= n; ++i) if(!book[i] && dis[i] > map[pos][i]) dis[i] = map[pos][i]; } if(count == n) return sum*100; else return 0;}int main(){ double result; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i = 1; i <= n; ++i) scanf("%d %d",&p[i].x,&p[i].y); creatMap(); result = prim(); if(result) printf("%.1f\n",result); else printf("oh!\n"); } return 0;}
0 0
- hdu 1875 畅通工程再续(最小生成树Prim)
- hdu 1875畅通工程再续-prim最小生成树
- hdu 1875 畅通工程再续 最小生成树prim
- HDU 1875 畅通工程再续 Prim最小生成树
- hdu 1875 畅通工程再续 【最小生成树-prim】
- HDU-1875 畅通工程再续(最小生成树[Prim])
- Prim算法-最小生成树(附题:HDU-1875 畅通工程再续)
- hdu 1875 畅通工程再续(最小生成树,prim)
- hdoj 1875 畅通工程再续 ( 最小生成树--prim )
- 【最小生成树+Prim】杭电 hdu 1875 畅通工程再续
- HDU 1875 畅通工程再续 prim算法 最小生成树
- HDU Problem 1875 畅通工程再续 【最小生成树Prim】
- hdu 畅通工程再续(最小生成树)(Prim算法 && Kruskal算法)
- HDU 1863 畅通工程(最小生成树prim算法)
- HDU - 1863 - 畅通工程 (最小生成树!!prim算法!!)
- HDU---1233-畅通工程(最小生成树prim)
- HDU-1863 畅通工程(最小生成树[Prim])
- HDU-1879 继续畅通工程(最小生成树[Prim])
- 将博客搬至CSDN
- Vijos P1531 食物链
- 101. Symmetric Tree
- java.lang.UnsatisfiedLinkError: Couldn’t load locSDK3: findLibrary returned null.
- 【BZOJ4052】【Cerc2013】Magical GCD 单调栈
- hdu 1875 畅通工程再续(最小生成树,prim)
- 1.默认构造函数和explicit关键字的使用
- 电脑大小端自测
- Python 中的Pyc文件
- Scipy SVD
- 一切成功源于积累——20160604 美国非农15分钟k线直至收盘 各货币对表现 大幅不及预期 黄金3000点
- js判断当前浏览器是否为IE
- 粒子系统-变色龙
- 数据挖掘学习1----随机森林