贪心乱搞70分求助
查看原帖
贪心乱搞70分求助
592238
Elairin176楼主2022/12/29 08:59

rt

#include <iostream>
#include <algorithm>
#include <iomanip>
#include <cmath>
using namespace std;
const double eps=0.00001;
struct pos{
	double x;
	double y;
}a[10010];
inline double dis(double _x1,double _y1,double _x2,double _y2){
	return sqrt((_x2-_x1)*(_x2-_x1)+(_y2-_y1)*(_y2-_y1));
}
inline double min(double a,double b){
	return a<b?a:b;
}
bool cmp(pos a,pos b){
	if(fabs(a.x-b.x)<=eps){
		return a.y>b.y;
	}
	return a.x>b.x;
}
double ans=1e10;
int n;
int main(void){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i].x>>a[i].y;
	}
	sort(a,a+n,cmp);
	for(int i=1;i<n;i++){
		ans=min(ans,dis(a[i-1].x,a[i-1].y,a[i].x,a[i].y));
	}
	cout<<fixed<<setprecision(4)<<ans;
}
2022/12/29 08:59
加载中...