Pagini recente » Cod sursa (job #1496239) | Cod sursa (job #2473837) | Cod sursa (job #1139078) | Cod sursa (job #1177085) | Cod sursa (job #674285)
Cod sursa(job #674285)
#include<fstream>
#include<cmath>
#include<algorithm>
using namespace std;
long i,j,n,m=0;
long d;
double rez=1000000000,p;
struct pc
{
long x,y;
};
pc a[100010],b[100010];
bool cmp(pc a1,pc b1)
{
return a1.x<b1.x;
}
bool cmp1(pc a1,pc b1)
{
return a1.y<b1.y;
}
void detvec()
{
long i;
for(i=1;i<=n;++i)
if(a[i].x<=d+rez&&a[i].x>=d-rez)
++m;
}
double euclid(long i,long j)
{
return sqrt(pow(a[i].x-a[j].x,double(2))+pow(a[i].y-a[j].y,double(2)));
}
int main()
{
FILE *f=fopen("cmap.in","r");
FILE *g=fopen("cmap.out","w");
fscanf(f,"%ld",&n);
for(i=1;i<=n;++i)
fscanf(f,"%ld%ld",&a[i].x,&a[i].y);
sort(a+1,a+n+1,cmp);
d=a[n/2].x;
detvec();
for(i=1;i<=m;++i)
for(j=i+1;j<=i+7&&j<=m;++j)
{
p=euclid(i,j);
if(p<rez)
rez=p;
}
fprintf(g,"%.6lf",rez);
return 0;
}