Pagini recente » Cod sursa (job #1119544) | Cod sursa (job #2485048) | Cod sursa (job #2014011) | Cod sursa (job #1142930) | Cod sursa (job #2119414)
#include <bits/stdc++.h>
using namespace std;
ifstream in("cmap.in");
ofstream out("cmap.out");
struct punct
{
int x,y;
};
int n,x,y;
vector < punct > v;
bool crit (const punct a, const punct b)
{
return (a.x<b.x || (a.x==b.x || a.y<b.y));
}
double dist(punct a, punct b)
{
return (double)sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
double dist_min=INT_MAX;
int main()
{
in>>n;
for(int i=1; i<=n; i++)
{
in>>x>>y;
v.push_back({x,y});
}
sort(v.begin(),v.end(),crit);
for(int i=0; i<n; i++)
for(int j=i+1; j<n && j<=i+8 ; j++)
if(dist(v.at(i),v.at(j))<dist_min)
dist_min=(double)dist(v.at(i),v.at(j));
out<<fixed<<setprecision(6)<<dist_min;
return 0;
}