社区讨论

求条悬无数关

P1991无线通讯网参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m360idib
此快照首次捕获于
2024/11/06 23:06
去年
此快照最后确认于
2025/11/04 15:12
4 个月前
查看原帖
思路:暴力枚举每一条边,再将前p大的边用卫星通话, a[bbb-p]位就是最短距离
CPP
#include<bits/stdc++.h>
using namespace std;
double a[250005];
int bbb;
int s,p; 
double xx[500005],yy[500005]; 
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>s>>p;
	bbb=1;
	for(int i=1;i<=p;i++)
	{
		cin>>xx[i]>>yy[i];
	}
	for(int i=1;i<=p;i++)
	{
		for(int j=i+1;j<=p;j++)
		{
			a[bbb]=sqrt(pow(xx[i]-xx[j],2)+pow(yy[i]-yy[j],2));
			bbb++;
		}
	}
	sort(a+1,a+bbb+1);
	cout<<setiosflags(ios::fixed)<<setprecision(2);
	for(int i=bbb;i>=1;i--)
	{
		if(p==0)
		{
			cout<<a[i];return 0;
		}
		else p--; 
	}
	return 0;
}


回复

2 条回复,欢迎继续交流。

正在加载回复...