Cod sursa(job #783712)

Utilizator misinozzz zzz misino Data 3 septembrie 2012 17:29:49
Problema Cele mai apropiate puncte din plan Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
ifstream f("cmap.in");
FILE *g;
int i,j,n;
double p,d;
struct punct{
	int x,y;
};
punct v[100001];
bool cmp(punct a,punct b)
{if(a.x<b.x)
	return 1;
return 0;
}
double dist1(int i,int j)
{return (double) sqrt ((double)(v[i].x-v[j].x)*(v[i].x-v[j].x)+(v[i].y-v[j].y)*(v[i].y-v[j].y));
}
int main()
{f>>n;
g=fopen("cmap.out","w");
for(i=1;i<=n;++i)
	f>>v[i].x>>v[i].y;
sort(v+1,v+n+1,cmp);
d=1000000000;
for(i=1;i<=n;++i)
	for(j=i+1;j<=n&&j<=i+7;++j)
	{p=dist1(i,j);
	if(p<d)
		d=p;
	}
fprintf(g,"%.6f",d);
return 0;
}