POJ2349 Arctic Network 最小生成树
来源:互联网 发布:数据库关联查询 编辑:程序博客网 时间:2024/06/05 04:25
链接:
2349
题意:一个平面网络中 有M个卫星N个站点,每两个站点之间可以用通讯器联系或用卫星联系,用通讯器联系的花销和距离有关,用卫星联系则不需要花销。给出每个站点的坐标(x,y),求这个网络最小生成树的最大边。
题解:
M个卫星一共可以减去M-1条边,通过prim算法求出生成树中的所有(n-1)条边,通过排序,再减去(m-1)条权值最大的边 即可得到最小生成树中的最大边。
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;#define maxx 9999999double map[505][505];double lowdis[505],loc[505][2];int s,m,n;double ans[505];double cmp(double a,double b){ return a<b;}void prim(){ int i,j,pos,minn; for(i=1; i<=m; i++) lowdis[i]=map[1][i]; lowdis[1]=-1; for(i=1; i<m; i++) { minn=maxx; for(j=1; j<=m; j++) if(lowdis[j]!=-1&&lowdis[j]<minn) minn=lowdis[j],pos=j; ans[s++]=lowdis[pos]; lowdis[pos]=-1; for(j=1; j<=m; j++) if(lowdis[j]>map[pos][j]) lowdis[j]=map[pos][j]; } return;}int main(){ int t,i,j; scanf("%d",&t); while(t--) { s=0; scanf("%d%d",&n,&m); for(i=1; i<=m; i++) scanf("%lf%lf",&loc[i][0],&loc[i][1]); for(i=1; i<=m; i++) for(j=i; j<=m; j++) { if(j==i) map[i][j]=maxx; else map[i][j]=map[j][i]=sqrt(pow(loc[i][0]-loc[j][0],2)+pow(loc[i][1]-loc[j][1],2)); } prim(); sort(ans,ans+s,cmp); if(s-n<0) cout<<0<<endl; else printf("%.2lf\n",ans[s-n]); } return 0;}
0 0
- poj2349 Arctic Network 最小生成树,kruskal
- POJ2349&ZOJ1914--Arctic Network【最小生成树】
- poj2349 Arctic Network(最小生成树)
- [poj2349 Arctic Network]最小生成树
- POJ2349 Arctic Network 最小生成树
- poj2349:Arctic Network(最小生成树)
- POJ2349 Arctic Network(最小生成树,Kruskal)
- poj2349 Arctic Network 最小生成树
- poj2349——Arctic Network(最小生成树+prim)
- POJ2349 Arctic Network 题解【最小生成树】【Kruskal】【图论】
- POJ2349 Arctic Network
- POJ2349--Arctic Network
- POJ2349---Arctic Network
- POJ2349,ZOJ1914,Arctic Network
- POJ2349 Arctic Network
- poj2349 Arctic Network
- POJ2349 Arctic Network
- poj2349 Arctic Network
- 最受程序员欢迎的公司榜单发布:2015 IT人才招聘趋势分析
- Nginx模块开发(十二)(续二):upstream负载均衡模块的例子
- Hi3518E音频部分设计
- css 文字自动换行
- cloudsim中simEntity和simEvent的学习
- POJ2349 Arctic Network 最小生成树
- Activiti5第八弹,ProcessEngineConfiguration和ProcessEngine
- 黑马程序员-----Jvav基础(四):数组
- uva10105(数论多项式展开公式)
- UML9种图之活动图
- “遯世无闷”与“人不知不愠”
- 图像Ostu二值化原理及matlab实现代码
- 黑马程序员-IOS-OC基础-Foundation
- http开发