Cod sursa(job #273623)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 8 martie 2009 19:59:28
Problema Triang Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<stdio.h>
#include<math.h>
#define N 15001
int num,n;
bool fol[N];
struct milk{float x,y;}v[N];
void parcurg()
{
	for (int i=1; i<n-1; ++i)
	{
		if (!fol[i])
		for (int j=i+1; j<n; ++j)
			if (!fol[j])
			{
			float modab=(v[i].x-v[j].x)*(v[i].x-v[j].x)+(v[i].y-v[j].y)*(v[i].y-v[j].y);
			float ab=sqrt(modab)*1000;
			//int ab1=ab;
			for (int k=j+1; k<=n; ++k)
				if (!fol[k])
				{
				float modac=(v[i].x-v[k].x)*(v[i].x-v[k].x)+(v[i].y-v[k].y)*(v[i].y-v[k].y);
				float ac=sqrt(modac)*1000;
				//int ac1=ac;
				float modbc=(v[k].x-v[j].x)*(v[k].x-v[j].x)+(v[k].y-v[j].y)*(v[k].y-v[j].y);
				float bc=sqrt(modbc)*1000;
				//int bc1=bc;
				if (ab==bc&& bc==ac)
				{
					++num;
					fol[i]=fol[j]=fol[k]=true;
				}
				}
			}
	}
	printf("%d",num);
}
void citire()
{
	freopen("triang.in","r",stdin);
	freopen("triang.out","w",stdout);
	scanf("%d",&n);
	for (int i=1; i<=n; ++i)
		scanf("%f%f",&v[i].x,&v[i].y);
	parcurg();
}
int main()
{
	citire();
	return 0;
}