POJ 1751 Highways(kuangbin带你飞 专题六:最小生成树)
来源:互联网 发布:网络拒绝接入怎么解决 编辑:程序博客网 时间:2024/06/05 15:54
题意就是给定n个村庄的坐标,然后要求从某个城市出发能到达任意一个其他城市...其中某些公路已经建好,问还需要建哪些公路使得总代价最小...不用输出代价..输出需要建造公路的两个顶点编号...如果已经全部联通,输出为空,因为是spj,所以可以随便输出
kruskal解得....因为只会这一个玩意..所以就慢慢写,没想到在VJ上1A了...然后回到POJ c++ tle...G++ 560MS...不懂为何有这么大偏差..很水的一个题目
#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#include<algorithm>using namespace std;int f[760],n,x[760],y[760];struct node{ int x,y; double s;}s[540000];int cmp(node a,node b){ return a.s<b.s;}void inti(){ for(int i=1;i<=n;i++) f[i]=i;}int find(int x){ if(x!=f[x]) return f[x]=find(f[x]); return x;}int main(){ while(scanf("%d",&n)!=EOF) { inti(); for(int i=1;i<=n;i++) { scanf("%d %d",&x[i],&y[i]); } int k=0; for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { s[k].x=i,s[k].y=j; s[k++].s=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])+0.0); } } sort(s,s+k,cmp); int m,u,v,t=0; scanf("%d",&m); for(int i=0;i<m;i++) { scanf("%d %d",&u,&v); int du=find(u); int dv=find(v); if(du!=dv) { t++; f[du]=dv; } } for(int i=0;i<k;i++) { int dx=find(s[i].x); int dy=find(s[i].y); if(dx!=dy) { t++; printf("%d %d\n",s[i].x,s[i].y); f[dy]=dx; } if(t==n-1) break; } } return 0;}
0 0
- POJ 1751 Highways(kuangbin带你飞 专题六:最小生成树)
- POJ 1287 Networking (kuangbin带你飞 专题六:最小生成树)
- POJ 2421 HDOJ 1102 Constructing Roads(kuangbin带你飞 专题六:最小生成树)
- POJ 1679 The Unique MST(kuangbin带你飞 专题六:最小生成树)
- POJ 2349&&ZOJ 1914 Arctic Network(kuangbin带你飞 专题六:最小生成树)
- POJ 1789 Truck History(kuangbin带你飞 专题六:最小生成树)
- 【 题集 】 【kuangbin带你飞】专题六 最小生成树
- [kuangbin带你飞]专题六 最小生成树
- [kuangbin带你飞]专题六 最小生成树 H
- [kuangbin带你飞]专题六 最小生成树A
- [kuangbin带你飞]专题六 最小生成树 C
- [kuangbin带你飞]专题六 最小生成树 D
- POJ 1251 HDU 1301 Jungle Roads(kuangbin带你飞 专题六:最小生成树)
- POJ 1258 Agri-Net(kuangbin带你飞 专题六:最小生成树)
- POJ 2031 Building a Space Station(kuangbin带你飞 专题六:最小生成树)
- POJ 3026 Borg Maze(kuangbin带你飞 专题六:最小生成树,完结)
- [kuangbin带你飞]专题六 最小生成树 A POJ 1251
- [kuangbin带你飞]专题六 最小生成树 B POJ 1287
- 【C++基础】----运算符重载(01)
- Android的Activity与Fragment之一 配置使用Activity
- 初识 Lucene
- Android的Activity与Fragment之二 Activity的回调机制、生命周期、加载模式
- GaussianFunc
- POJ 1751 Highways(kuangbin带你飞 专题六:最小生成树)
- svn是什么
- 六种主流编程语言(C、C++、Python、JavaScript、PHP、Java)特性对比
- Android的Fragment
- Android平台Log输出规范
- Android的Intent&IntentFilter Intent属性及Intent-filter配置
- Android的应用资源
- Coursera机器学习基石 第2讲:感知器
- json转java对象