moocast(usaco2016年12月金组第1题)

目录

题目描述

输入

输出

样例输入 复制

样例输出 复制

提示

代码


题目描述

农民约翰的N只奶牛(1≤N≤1000)想要组织一个紧急的“moo-cast”系统,用于在他们之间广播重要的信息。牛决定装备对讲机,每个牛一个。 这些对讲机每个都具有有限的传输半径,但是奶牛可以沿着由几个跳跃组成的路径,通过中继发送到别的奶牛。因此每个奶牛不必直接传送到每个其他奶牛。

奶牛需要决定在他们的对讲机上花多少钱。 如果他们花费$ X,他们将获得一个能够传输距离为 √X的对讲机。也就是说,两头牛之间的距离的平方至多为X,才能够传到消息。

请帮助奶牛确定X的最小整数值,以便来自任何奶牛的广播将最终能够到达每个其他奶牛。

输入

   输入文件名为moocast.in。

   输入文件第一行输入包含一个整数N。接下来的N行,每行包含每只牛的x和y坐标。 这些都是0 ... 25,000范围内的整数。

输出

    输出文件名为moocast.out。

    输出文件共一行,表示X的最小整数值。

样例输入 复制
4
1 3
5 4
7 2
6 1
样例输出 复制
17
提示

【数据说明】

1<=n<=1000

代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,i,fx,fy,ma,f[500010],t,b,c,d,x[1000010],y[1000010],j;
struct no{int x,y,z;}a[1000010];
bool cmp(no q,no h){return q.z<h.z;}
int find(int x){if(x==f[x]) return x;return f[x]=find(f[x]);}
main(){
    cin>>n;
    for(i=1;i<=n;i++)cin>>x[i]>>y[i],f[i]=i;
    for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++){t++;a[t].x=i;a[t].y=j;a[t].z=abs(x[i]-x[j])*abs(x[i]-x[j])+abs(y[i]-y[j])*abs(y[i]-y[j]);}
    sort(a+1,a+1+t,cmp);
    for(i=1;i<=t;i++){
        fx=find(a[i].x);fy=find(a[i].y);
        if(fx!=fy)f[fy]=fx,ma=max(ma,a[i].z);
    }
    cout<<ma;
}

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,i,fx,fy,ma,f[500010],t,b,c,d,x[1000010],y[1000010],j;
struct no{int x,y,z;}a[1000010];
bool cmp(no q,no h){return q.z<h.z;}
int find(int x){if(x==f[x]) return x;return f[x]=find(f[x]);}
main(){
	cin>>n;
	for(i=1;i<=n;i++)cin>>x[i]>>y[i],f[i]=i;
	for(i=1;i<n;i++)
		for(j=i+1;j<=n;j++){t++;a[t].x=i;a[t].y=j;a[t].z=abs(x[i]-x[j])*abs(x[i]-x[j])+abs(y[i]-y[j])*abs(y[i]-y[j]);}
	sort(a+1,a+1+t,cmp);
	for(i=1;i<=t;i++){
		fx=find(a[i].x);fy=find(a[i].y);
		if(fx!=fy)f[fy]=fx,ma=max(ma,a[i].z);
	}
	cout<<ma;
}

相关推荐

  1. moocast(usaco2016121)

    2024-06-13 01:52:03       30 阅读
  2. GESP C++ 二级真(202312)T1 小杨做

    2024-06-13 01:52:03       18 阅读
  3. 2023124周面试算法总结

    2024-06-13 01:52:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 01:52:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 01:52:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 01:52:03       82 阅读
  4. Python语言-面向对象

    2024-06-13 01:52:03       91 阅读

热门阅读

  1. c#与汇川plc通信

    2024-06-13 01:52:03       30 阅读
  2. #07【面试问题整理】嵌入式软件工程师

    2024-06-13 01:52:03       29 阅读
  3. leetcode hot100 之 最长公共子序列

    2024-06-13 01:52:03       27 阅读
  4. SSRF-gopher 协议扩展利用:突破网络限制的利器

    2024-06-13 01:52:03       33 阅读
  5. Ant-Design-Vue 动态表头

    2024-06-13 01:52:03       27 阅读
  6. 深入理解ChatGPT工作原理

    2024-06-13 01:52:03       32 阅读
  7. minio

    minio

    2024-06-13 01:52:03      25 阅读
  8. 代码随想录算法训练营第36期DAY52

    2024-06-13 01:52:03       26 阅读
  9. 3D分割之SAGA训练流程解读

    2024-06-13 01:52:03       30 阅读
  10. sam_out 中风预测

    2024-06-13 01:52:03       22 阅读
  11. Webpack前端打包工具详解

    2024-06-13 01:52:03       24 阅读