POJ2349 (prim)
来源:互联网 发布:linux 没有home目录 编辑:程序博客网 时间:2024/05/22 17:06
转自http://blog.csdn.net/huangkuizuiniu/article/details/50614777
#include<iostream>#include<cstdio>#include<cmath>using namespace std;double x[1001],y[1001],a[1001][1001],d[1001],p[1001],ans[10001],asd[10001];int main(){int i,j,k,m,n;int t;cin>>t;int v=0;for(int q=1;q<=t;q++){ int u=0;cin>>m>>n;for(i=1;i<=n;i++) for(j=1;j<=n;j++){ a[i][j]=0;} for(i=1;i<=n;i++){ cin>>x[i]>>y[i]; p[i]=0;d[i]=10000000.0; } for(i=1;i<=n;i++) for(j=1;j<=n;j++){ a[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));}d[1]=0; int min; for(i=1;i<=n;i++){ min=1000000000.0; for(j=1;j<=n;j++) if(!p[j] && d[j]<min){ k=j; min=d[j]; } p[k]=1; ans[++u]=d[k];for(j=1;j<=n;j++) if(!p[j] && a[i][j]!=0 && d[j]>a[j][k]) d[j]=a[j][k]; } for(i=1;i<u;i++) for(j=i+1;j<=u;j++){ if(ans[i]<ans[j]){ int tmp; tmp=ans[i];ans[i]=ans[j];ans[j]=tmp; }}asd[++v]=ans[m]; for(i=1;i<=u;i++)ans[i]=0;} for(i=1;i<=t;i++){ cout<<asd[i]<<endl;}return 0;}
0 1
- POJ2349+Prim
- POJ2349 (prim)
- POJ2349 prim+heap
- poj2349(prim)
- POJ2349 prim算法
- 最小生成树(prim)--poj2349
- poj2349
- poj2349
- poj2349
- POJ2349—最小生成树的Kruskal和Prim实现
- POJ2349 最小生成树(Prim更适合稠密图)
- poj2349——Arctic Network(最小生成树+prim)
- POJ2349 Arctic Network Prim+堆(优先队列)、Kruskal(并查集)
- poj2349-kruskal
- 最小生成树 poj2349
- POJ2349 Arctic Network
- poj2349(最小生成树)
- Kruskal POJ1287 POJ1861 POJ2349
- Mac OS X Git安装教程
- Java 基于 TCP/IP 实现 Socket中的多客户端通信
- Treap平衡树
- 安卓EditView控件回车按钮的监听事件,解决界面onkey无效
- HTML -笔记01-列表使用初识
- POJ2349 (prim)
- 从头认识Spring-1.7 怎样通过属性注入Bean?(1)-怎样通过属性向对象注入值?
- 杭电 hdu 2089 不要62【数位dp】【入门】
- fidder 拦截http 重新发起请求
- PATH环境变量
- epoll详解和使用
- thinkphp控制器中获取当前控制器路径
- COM调用的时候需要先调用CoInitialize函数
- 集体智慧学习笔记二——中文标点的去除