Cod sursa(job #133021)

Utilizator razvi9Jurca Razvan razvi9 Data 7 februarie 2008 12:33:52
Problema Patrate 3 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<cstdio>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
int n,i,j,nr;
float x,y;
pair<float,float> a[1002];
pair<float,float> v1,v2;
float mijx,mijy,dx,dy;
int main()
{
	freopen("patrate3.in","r",stdin);
	freopen("patrate3.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%f %f",&x,&y);
		a[i].first=x;
		a[i].second=y;}
	sort(&a[1],&a[n+1]);
	for(i=1;i<n;i++)
		for(j=i+1;j<=n;j++){
			mijx=(a[i].first+a[j].first)/2;
			mijy=(a[i].second+a[j].second)/2;
			dx=fabs(a[i].first-mijx);
			dy=fabs(a[i].second-mijy);
			v1.first=mijx+dy;
			v1.second=mijy-dx;
			v2.first=mijx-dy;
			v2.second=mijy+dx;
			if(binary_search(&a[1],&a[n+1],v1) && binary_search(&a[1],&a[n+1],v2)) nr++;}
	nr=nr/2;
	printf("%d\n",nr);
	fclose(stdout);
	return 0;
}