hdu1162 Eddy's picture (prim最小生成树)
来源:互联网 发布:python编辑器 知乎 编辑:程序博客网 时间:2024/05/18 00:06
#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>#define INF 1000000.0#define MAXN 102using namespace std;//最小生成树double map[MAXN][MAXN],dist[MAXN];double px[MAXN],py[MAXN];int visited[MAXN];double distans(double x1,double x2,double y1,double y2){return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}double prim(int n){int i,j,u;double min,sum=0.0;for (i=1;i<=n;i++){dist[i]=map[1][i];visited[i]=0;}visited[1]=1;dist[1]=0.0;for (i=2;i<=n;i++){min=INF;u=1;for(j=1;j<=n;j++)if(!visited[j]&&dist[j]<min){min=dist[j];u=j;}visited[u]=1;sum+=min;for(j=1;j<=n;j++)if(!visited[j]&&dist[j]>map[u][j])dist[j]=map[u][j];}return sum;}int main(){int n,i,j;double ans;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++)scanf("%lf %lf",&px[i],&py[i]);for (i=1;i<=n;i++){for (j=i;j<=n;j++){map[i][j]=map[j][i]=distans(px[i],px[j],py[i],py[j]);}}ans=prim(n);printf("%.2lf\n",ans);}return 0;}
- hdu1162 Eddy's picture (prim最小生成树)
- hdu1162 Eddy's picture (最小生成树之prim 算法)
- HDU1162 Eddy's picture 【最小生成树Prim】
- HDU1162-Eddy's picture-最小生成树(prim算法模板)
- hdu1162 Eddy's picture 最小生成树 prim
- HDU1162 Eddy's picture 最小生成树
- hdu1162 Eddy's picture 并查集+最小生成树
- HDU1162 Eddy's picture【Prim】
- hdu1162 Eddy's picture(prim模板)
- hdu 1162 Eddy's picture(最小生成树Prim算法)
- hdu 1162 Eddy's picture(最小生成树prim)
- HDOJ 1162 Eddy's picture(最小生成树prim算法)
- HDOJ 1162 Eddy's picture 最小生成树 Kruscal && Prim
- HDU 1162 Eddy's picture(最小生成树-Prim)
- hdoj 1162 Eddy's picture【最小生成树 kruskal && prim】
- hdu 1162 Eddy's picture(最小生成树,prim)
- hdu1162 Eddy's picture(图论:最小生成树-minimal spanning tree)
- hdu1162(并查集+Kruskal最小生成树)-- Eddy's picture
- C++模板学习
- 35岁以前把下面十件事做好
- stat,fstat,lstat与struct stat结构的结合使用
- .jar文件参与android源码编译
- ARM第二课总结
- hdu1162 Eddy's picture (prim最小生成树)
- ASP.NET4.5Web API及非同步程序开发系列(2)
- 【13】String类_获取,判断,转换,替换,切割...
- 20120927-笔试
- TCP回射程序
- IOS开发之路-C 学习笔记7.17
- 数字电路学习
- surfaceview setDisplay时IllegalArgumentException: The surface has been released
- 小学生算术