求最近的点对,有问题求助大佬们
  • 板块学术版
  • 楼主魑魅魍魉唬
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/3/3 15:22
  • 上次更新2024/3/3 17:03:49
查看原帖
求最近的点对,有问题求助大佬们
317218
魑魅魍魉唬楼主2024/3/3 15:22

.随机二维平面n个点,找出其中距离最近的两个,输出那两个点。 我不知道这个哪里有问题,就是有点时候这个最近距离不对,求大佬们帮忙看看,感谢

#include<bits/stdc++.h>
using namespace std;
struct dian{
	int x,y;
}; 
int main(){
	int num;
	cin>>num;
	dian d[num];
	float mi=100;//最近距离
	float dis;//两点间距离
	int n,m;
	for(int i=0;i<num;i++){
		cin>>d[i].x>>d[i].y;
	}
	for(int i=0;i<num;i++){
		for(int j=i+1;j<num;j++){
			dis=sqrt(pow((d[i].x-d[j].x),2)+pow((d[i].y-d[j].y),2));
			if(dis<=mi){
				mi=dis;
				n=i;
				m=j;}
			
		}
	}
	cout<<d[n].x<<" "<<d[n].y<<" "<<d[m].x<<" "<<d[m].y<<" "<<endl;
	cout<<dis<<endl;
	return 0;
}
2024/3/3 15:22
加载中...