HDU 1162 Eddy's picture
来源:互联网 发布:2017年动漫推荐知乎 编辑:程序博客网 时间:2024/04/28 22:54
最小生成树问题。
把N个点的坐标处理成N*(N-1)/2 条边。
然后生成树。
#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define INF 100000001using namespace std;int a[101];struct lx{ int x,y; double c;}l[5001];double x[101],y[101];void intset(int n){ for(int i=0; i<=n; i++) a[i]=i;}int fa(int x){ if(x!=a[x]) x=fa(a[x]); return a[x];}bool cmpa(lx t1,lx t2){ return t1.c<t2.c;}int main(){ int n,m,t,k; while(~scanf("%d",&n)) { m=0;intset(n); for(int i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) { l[m].x=i,l[m].y=j; l[m++].c=sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2)); } sort(l,l+m,cmpa); double ans=0; for(int i=0;i<m;i++) { int x=fa(l[i].x); int y=fa(l[i].y); if(x!=y) { ans+=l[i].c; a[y]=x; } } printf("%.2lf\n",ans); }}
0 0
- Hdu-1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- Hdu 1162 - Eddy's picture
- hdu 1162 Eddy's picture
- HDU 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- HDU 1162 Eddy's picture
- hdu-1162-Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- HDU 1162 Eddy's picture
- hdu 1162 Eddy's picture
- hdu 1162 Eddy's picture
- Redis 安装与简单示例 <第一篇>
- Linux 中如何卸载已安装的软件
- matlab中相关函数功能
- 巨罚蓝的价了空的十了空的法纠和高结发了打阿汗高技的烧工
- Android中为WindowManager添加的View添加动画
- HDU 1162 Eddy's picture
- android之onCreateOptionsMenu失效,按菜单键无反应
- javascript事件委托技术的原理
- Android解析apk包信息
- codeforces 416 B. Art Union
- Redis常用命令速查 <第二篇>
- 常见几种存储过程分页
- css如何对齐文本框和旁边的图像按钮
- SSL协议与数字证书原理