hdu 1875畅通工程再续-prim最小生成树
来源:互联网 发布:扫描字的软件 编辑:程序博客网 时间:2024/03/29 03:53
hdu 1875畅通工程再续
邻接矩阵中的数据必须初始化完整
#include<iostream>#include<math.h>using namespace std;const double INF=1000000000.0;double mp[100][100]; struct point{int x,y;} P[100];double prim(int N){int i,j,k,mark=1;double min,length;for(i=1;i<=N;i++){mp[i][i]=0; //重要! mp[0][i]=mp[1][i];}length=0;for(i=2;i<=N;i++){min=INF;k=1;for(j=1;j<=N;j++){if(mp[0][j]&&min>mp[0][j]){min=mp[0][j];k=j;}}if(k==1) return INF;length+=min;mp[0][k]=0;for(j=1;j<=N;j++)if(mp[0][j]&&mp[0][j]>mp[k][j])mp[0][j]=mp[k][j];}return length;}double dist(point x,point y){return (double)sqrt((double)((x.x-y.x)*(x.x-y.x)+(x.y-y.y)*(x.y-y.y)));}int main(){int i,j,T,N;double D,ans;scanf("%d",&T);while(T--){scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d%d",&P[i].x,&P[i].y);for(j=1;j<=i;j++){D=dist(P[i],P[j]);if(10>D||1000<D)mp[i][j]=mp[j][i]=INF;elsemp[i][j]=mp[j][i]=D;}}ans=prim(N);if(ans<INF) printf("%.1lf\n",100*ans);else printf("oh!\n");}return 0;}
- hdu 1875 畅通工程再续(最小生成树Prim)
- hdu 1875畅通工程再续-prim最小生成树
- hdu 1875 畅通工程再续 最小生成树prim
- HDU 1875 畅通工程再续 Prim最小生成树
- hdu 1875 畅通工程再续 【最小生成树-prim】
- hdoj 1875 畅通工程再续 ( 最小生成树--prim )
- 【最小生成树+Prim】杭电 hdu 1875 畅通工程再续
- HDU 1875 畅通工程再续 prim算法 最小生成树
- HDU-1875 畅通工程再续(最小生成树[Prim])
- Prim算法-最小生成树(附题:HDU-1875 畅通工程再续)
- hdu 1875 畅通工程再续(最小生成树,prim)
- HDU Problem 1875 畅通工程再续 【最小生成树Prim】
- 最小生成树 Prim hdu1875 畅通工程再续
- HDU1875 畅通工程再续 【最小生成树Prim】
- hdu1575畅通工程再续【最小生成树】cruskal&prim
- hdu 畅通工程再续(最小生成树)(Prim算法 && Kruskal算法)
- hdu 1233 还是畅通工程(Prim最小生成树)
- HDU 1863 畅通工程(最小生成树prim算法)
- 使用WCF实现服务器分页
- JAVA 环境变量设置
- poj1149(最大流,构图较难)
- Explicit Interface Implementation
- netbean 乱码 (运行 编码 UTF-8 的不可映射字符)
- hdu 1875畅通工程再续-prim最小生成树
- 配置struts2和spring3
- JSF 2.0 中定义受管 Bean 的三种途径的比较
- 使用emacs时出现的问题
- POJ 3189 枚举+最大流
- C#中的interface
- How to start learning Hadoop and Mapreduce?
- cerr与cout的区别
- Amazon Simple Queue Service(Amazon SQS)