HDU 4463 最小生成树 裸题
来源:互联网 发布:凸优化 求解 编辑:程序博客网 时间:2024/06/05 03:37
2012杭州签到题。。。
#include "stdio.h"#include "string.h"#include "math.h"int main(){int hash[101];int w,i,j,n,a,b,k;double ans,min;double dis[101],map[101][101];int x[101],y[101];while (scanf("%d",&n)!=EOF){if (n==0) break;scanf("%d%d",&a,&b);for (i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);ans=(double) sqrt((double) (x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]));memset(hash,0,sizeof(hash));for (i=1;i<=n;i++)for (j=1;j<=n;j++)if (i==j) map[i][j]=0;else map[i][j]=(double) sqrt( (double) (x[i]-x[j])*(x[i]-x[j])+ (y[i]-y[j])*(y[i]-y[j]) );for (i=1;i<=n;i++)dis[i]=0x7fffffff;dis[a]=dis[b]=0;for (i=1;i<=n;i++){if (map[a][i]<dis[i]) dis[i]=map[a][i];if (map[b][i]<dis[i]) dis[i]=map[b][i];}w=n-2;memset(hash,0,sizeof(hash));hash[a]=hash[b]=1;while (w!=0){w--;min=0x7fffffff;for (i=1;i<=n;i++)if (hash[i]==0 && dis[i]<min){min=dis[i];k=i;}ans+=min;hash[k]=1;for (i=1;i<=n;i++)if (hash[i]==0 && map[k][i]<dis[i])dis[i]=map[k][i];}printf("%.2lf\n",ans);}return 0;}
- HDU 4463 最小生成树 裸题
- HDU 4463 最小生成树
- HDU-4463-Outlets -最小生成树
- hdu 4463(最小生成树变形)
- hdu 4463 最小生成树 prim
- HDU 4463 Outlets 最小生成树
- HDU 4463 Outlets (Kruskal 最小生成树)
- hdu 4463 Outlets (最小生成树)
- hdu 4463 Outlets(最小生成树)
- hdu 4463 Outlets(最小生成树)
- HDU 4463Outlets 最小生成树Kr~
- hdu 4463 Outlets 最小生成树
- HDU 4463 Outlets(最小生成树)
- 最小生成树——hdu 4463
- hdu 4463 Outlets【最小生成树】水题
- HDU 1879 最小生成树
- HDU-1836 最小生成树
- hdu 1863 最小生成树
- ubuntu下如何扫描局域网下的ip地址
- POJ - Best Cow Line(贪心)
- 【转】2013年第一季度最具影响力的CRM排名
- Hadoop HDFS 升级到2.0 笔记
- JFrame.setBackground设置无效
- HDU 4463 最小生成树 裸题
- linux之slab
- 用进程间通信的方法获取某张网卡的IP地址
- C语言中关于排序问题(一冒泡排序)
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- So cute are you python 14
- 联想A790E的root方法
- Flex多样化饼图样式(颜色渐变,点击分离,环形)
- uva 10491 - Cows and Cars(概率)