分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

G - Arctic Network

发布时间:2023-09-06 01:43责任编辑:郭大石关键词:暂无标签

G - Arctic Network

 
#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define MAXN 510using namespace std;double an;int fa[MAXN];int t,n,m,tot,sum;double x[MAXN],y[MAXN],ans[MAXN];struct nond{ ???int x,y;double z;}v[MAXN*MAXN];int cmp(nond a,nond b){ ???return a.z<b.z;}int find(int x){ ???if(fa[x]==x) ???return x; ???else ?return fa[x]=find(fa[x]);}int main(){ ???scanf("%d",&t); ???while(t--){ ???????an=0;sum=0;tot=0; ???????scanf("%d%d",&n,&m); ???????for(int i=1;i<=m;i++) ???????????scanf("%lf%lf",&x[i],&y[i]); ???????for(int i=1;i<=m;i++) ???????????for(int j=i+1;j<=m;j++){ ???????????????double tmp=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])); ???????????????v[++tot].x=i;v[tot].y=j;v[tot].z=tmp; ???????????} ???????for(int i=1;i<=m;i++) ???fa[i]=i; ???????sort(v+1,v+1+tot,cmp); ???????for(int i=1;i<=tot;i++){ ???????????int dx=find(v[i].x); ???????????int dy=find(v[i].y); ???????????if(dx==dy) ???continue; ???????????fa[dy]=dx; ???????????ans[++sum]=v[i].z; ???????????if(sum==m-1) ???break; ???????} ???????for(int i=1;i<=m-n;i++) ???????????an=max(an,ans[i]); ???????printf("%.2lf\n",an); ???}}

G - Arctic Network

原文地址:https://www.cnblogs.com/cangT-Tlan/p/8461956.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved