Cod sursa(job #42391)

Utilizator marius_902002Cocis Marius Gabriel marius_902002 Data 29 martie 2007 09:52:49
Problema Triang Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<stdio.h>
#include<math.h>

struct triang{
	double x,y;
}a[1500];

double xd,yd,d;
int n,contor,i,j,k;

int main()
{

freopen("triang.in","r",stdin);
freopen("triang.out","w",stdout);

scanf("%d",&n);
for(i=1;i<=n;i++)
{
	scanf("%lf%lf",&a[i].x,&a[i].y);
}
for(i=1;i<n-1;i++)
	for(j=i+1;j<n;j++)
	{
		xd=(a[i].x+a[j].x)/2;
		yd=(a[i].y+a[j].y)/2;
		d=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)-(a[i].y-a[j].y)*(a[i].y-a[j].y));
		for(k=j+1;k<=n;k++)
		{
			double broasca=(a[k].x-xd)*(a[k].x-xd)+(a[k].y-yd)*(a[k].y-yd);
			if(broasca-(int)broasca>0.5)
				broasca=(int)broasca+1;
			else
				broasca=(int)broasca;
			double single_calin=3*d*d/4;
			if(single_calin-(int)single_calin>0.5)
			{
				single_calin=(int)single_calin+1;
			}
			else
				single_calin=(int)single_calin;
			if(broasca==single_calin)
			{
				contor++;
			}
		}
	}
printf("%d",contor);

return 0;

}