码迷,mamicode.com
首页 > 其他好文 > 详细

无线通讯网

时间:2021-05-24 16:03:43      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:pac   ==   ios   amp   math   sqrt   algo   int   mes   

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=505;
int s,p,tot,cnt;
struct node{
	int u,v;
}a[N];
struct Node{
	int u,v;
	double w;
}edge[N*N];
int f[N];
bool cmp(Node a,Node b){
	return a.w<b.w;
}
int find(int x){
	if(f[x]==x) return x;
	return f[x]=find(f[x]);
}
int main(){
	scanf("%d%d",&s,&p);
	for(int i=1;i<=p;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		a[i].u=x; a[i].v=y;
	}
	for(int i=1;i<=p;i++)
	for(int j=1;j<=p;j++){
		if(i==j) continue;
		edge[++cnt].w=sqrt((a[i].u-a[j].u)*(a[i].u-a[j].u)+(a[i].v-a[j].v)*(a[i].v-a[j].v));
		edge[cnt].u=i;
		edge[cnt].v=j;
	}
	for(int i=1;i<=p;i++) f[i]=i;
	sort(edge+1,edge+cnt+1,cmp);
	for(int i=1;i<=cnt;i++){
		int r1=find(edge[i].u),r2=find(edge[i].v);
		if(r1==r2) continue;
		f[r1]=r2;
		tot++;
		if(tot==p-s){
			printf("%.2f",edge[i].w);
		}
	}
	return 0;
}

无线通讯网

标签:pac   ==   ios   amp   math   sqrt   algo   int   mes   

原文地址:https://www.cnblogs.com/New-ljx/p/14784371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!