UVa 10034 Freckles Prim算法
来源:互联网 发布:娜拉走后怎样 知乎 编辑:程序博客网 时间:2024/05/21 15:55
#include <iostream>
#include <cstdio>
#include <cmath>
#include <queue>
#include <vector>
#include <memory.h>
using namespace std;
const int MAX=105;
const double INF=1<<30;
bool vis[MAX],standard[MAX];
int n,setNum;
double key[MAX],line[MAX][2],map[MAX][MAX];
double Distance(const int &i,const int &j){
return pow(pow((line[i][0]-line[j][0]),2)+
pow((line[i][1]-line[j][1]),2),0.5);
}
void solve(){
int u;
double minVal;
double ans=0;
for(int i=1;i<=n;i++)
key[i]=INF;
key[1]=0;
while(memcmp(vis,standard,sizeof(vis))){
//cout<<"u"<<endl;
minVal=INF;
for(int i=1;i<=n;i++){
if(!vis[i]&&key[i]<minVal){
minVal=key[i];
u=i;
}
}
ans+=key[u];
vis[u]=1;
for(int i=1;i<=n;i++){
if(i==u)
continue;
if(!vis[i]&&map[u][i]<key[i])
key[i]=map[u][i];
}
}
printf("%.2lf/n",ans);
return ;
}
int main()
{
freopen("i.txt","r",stdin);
freopen("e://t2.txt","w",stdout);
int nCase,blank=0;
cin>>nCase;
while(nCase--){
if(blank++)
cout<<endl;
memset(vis,0,sizeof(vis));
memset(key,0,sizeof(key));
memset(standard,0,sizeof(standard));
memset(map,0,sizeof(map));
cin>>n;
for(int i=1;i<=n;i++)
standard[i]=1;
for(int i=1;i<=n;i++)
cin>>line[i][0]>>line[i][1];
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
map[i][j]=map[j][i]=Distance(i,j);
solve();
/*for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<map[i][j]<<" ";
}
cout<<endl;
}*/
}
return 0;
}
- UVa 10034 Freckles Prim算法
- uva 10034 Freckles (kruskal||prim)
- UVA - 10034 Freckles kruskal算法
- UVa 10034 Freckles (MST & 稠密图的O(V^2)的Prim算法)
- UVA - 10034 Freckles (kruskal算法)
- UVa 10034 Freckles
- UVa 10034 Freckles
- UVa 10034 Freckles
- UVA 10034 - Freckles
- UVA:10034 - Freckles
- UVa 10034 - Freckles
- UVa 10034 Freckles 解答
- UVA 10034 - Freckles
- Uva 10034 - Freckles
- UVA 10034 Freckles
- UVa 10034: Freckles
- UVa:10034 Freckles
- Uva - 10034 - Freckles
- Oracle Spatial SDO_Geometry类型的详细说明
- 《人生六部书——商场三十六计 之瞒天过海》
- 《GOF设计模式》—状态(STATE)—Delphi源码示例:状态映射表
- 九种破解Win XP登录密码方法
- 以前的CSDN帐号搞掉了,重新声请了一个帐号,准备安家了
- UVa 10034 Freckles Prim算法
- 【JAVA】用swing实现的一个秒表
- 畅想一下无线
- sql语句中的问号什么意思
- 屏蔽不显示VS警告warning
- ListView控件学习系列1-了解ListView控件
- ListView控件学习系列2-编辑ListView
- 高精度算法一:加法和减法
- 通过伪协议实现在网页中调用客户端 winform 程序