POJ 2560
来源:互联网 发布:js 图层隐藏 编辑:程序博客网 时间:2024/06/11 23:48
【题目分析】
最小生成树。
【代码】
#include <cstdio>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int f[101],n,en=1;double x[101],y[101],w[10001],ans=0;int fr[10001],to[10001],rank[10001];inline int gf(int k){if (f[k]==k) return k;else return f[k]=gf(f[k]);}inline bool cmp(int a,int b){return w[a]<w[b];}int main(){ scanf("%d",&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) { fr[en]=i;to[en]=j; w[en]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); en++; } for (int i=1;i<=n;++i) f[i]=i; for (int i=1;i<en;++i) rank[i]=i; sort(rank+1,rank+en,cmp); for (int i=1;i<en;++i) { int l=fr[rank[i]],r=to[rank[i]]; int fl=gf(l),fr=gf(r); if (fl!=fr) ans+=w[rank[i]],f[fl]=fr; } printf("%.2f\n",ans);}
0 0
- POJ 2560
- POJ 2560
- Poj 2560 Freckles
- poj 2560 Freckles
- POJ 2560 Freckles
- POJ 2560 Freckles
- POJ-2560 Freckles
- POJ 2560 Freckles
- poj 2560 Freckles
- POJ 2560 Freckles
- POJ 2560 Freckles
- POJ 2560 Freckles
- poj 2560 Freckles
- poj 2560 Freckles
- poj 2560 Freckles
- POJ
- poj
- POJ
- QCA4004简介
- EffectiveJava-考虑用静态工厂方法代替构造器
- 树形DP-HDU-2196-Computer
- 排序算法(未完)
- 数据结构中单链表中的 头插法和尾插法
- POJ 2560
- SQL应用之查找根节点
- SQL注入
- MOS管开关电路设计知识
- Xcode8.0 去除多余打印
- 批处理
- Exception异常深度解析
- Android中Menu的基本用法
- kail linux安装搜狗输入法