poj 2349 (最小生成树 Prim)
来源:互联网 发布:电信4g网络好用吗 编辑:程序博客网 时间:2024/06/04 18:28
这道题把题目看懂就很简单了。自己做时 浪费很多时间在看题上。但是一次过了,还不错。
代码如下:
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <iostream>#include <algorithm>using namespace std;#define N 550#define M 100000struct sa{ int a,b;}data[N];double map[N][N];int n;int p;int cmp(const double a,const double b){ return a>b;}void mst()//最小生成树 Prim算法 { bool flag[N]; double lowlen[N]; int node[N]; int i,j,k=0; double min; for(i=0;i<n;++i) { flag[i]=false; } flag[0]=true; int count=n; double sum[N]; for(i=1;i<n;++i) { lowlen[i]=map[0][i]; node[i]=0; } while(--count) { min=M; j=0; for(i=0;i<n;++i) { if(!flag[i] && lowlen[i]<min ) { min=lowlen[i]; j=i; } } sum[k]=map[j][node[j]]; k++; flag[j]=true; for(i=0;i<n;++i) { if(!flag[i] && lowlen[i]>map[i][j] ) { lowlen[i]=map[i][j]; node[i]=j; } } } sort(sum,sum+n,cmp); printf("%.2f\n",sum[p-1]);} int main(){ int m; scanf("%d",&m); while(m--) { double ss=0; int i,j; scanf("%d%d",&p,&n); for(i=0;i<n;i++) for(j=0;j<n;j++) map[i][j]=M; for(i=1;i<=n;i++) { scanf("%d%d",&data[i].a,&data[i].b); } for(i=1;i<n;i++) for(j=i+1;j<=n;j++) { ss=sqrt( ((data[j].a-data[i].a)*(data[j].a-data[i].a) + (data[j].b-data[i].b)*(data[j].b-data[i].b)) ); map[i-1][j-1]=map[j-1][i-1]=ss; } mst(); } return 0;}
- poj 2349 (最小生成树 Prim)
- POJ 1258 : 最小生成树(Prim)
- poj 2031 最小生成树(prim)
- POJ 2349 Arctic Network 最小生成树 prim && kruscal
- 最小生成树 prim POJ 2349解题报告
- POJ 2349 Arctic Network(最小生成树之Prim)
- POJ 2349 Arctic Network 最小生成树 Prim
- POJ 2485 Highways(prim 最小生成树)
- POJ 1789 Truck History (最小生成树 Prim)
- POJ 2485 Highways(最小生成树 Prim)
- poj 1287 Networking(prim or kruscal最小生成树)
- POJ 2485:Highways:典型prim最小生成树(2)
- POJ 1789:Truck History(prim&&最小生成树)
- poj 1789 Truck History 最小生成树(prim)
- POJ 2485:Highways(最小生成树&&prim)
- POJ 1258:Agri-Net(最小生成树&&prim)
- POJ 1258-Agri-Net(最小生成树prim)
- poj 1258 Agri-Net (最小生成树 prim)
- Sql Server 使用系统存储过程 及 自定义存储过程 “usp_Helloworld”
- 第一时间揭秘:帮奥巴马获胜的数据处理团队
- SSH服务器配置文件详解
- 解决css浏览器兼容问题的几种策略
- oracle实现/排名/求百分比
- poj 2349 (最小生成树 Prim)
- sql中视图
- $smarty.now
- Linux内核代码风格 CodingStyle
- 多线程(二)——————面试题详解
- == The History of Cryptography/ Algorithms/ conceptual modeling ==
- UITableViewCell的用xib文件重新设计
- java的环境变量配置
- yum命令详解