Cod sursa(job #2888)

Utilizator peanutzAndrei Homorodean peanutz Data 19 decembrie 2006 19:38:40
Problema Triang Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define NMAX 2000


typedef struct punct
{
double x, y;
};
punct p[NMAX];


int n, count;



void read()
{
int i;

scanf("%d\n", &n);


for(i = 0; i < n; ++i)
	{
		scanf("%lf %lf\n", &p[i].x, &p[i].y);
	}
}

inline double d(punct p1, punct p2)
{
return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}


void write()
{
printf("%d\n", count);
}


int main()
{
int for1, for2, for3;

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


read();



for(for1 = 0; for1 < n; ++for1)
	for(for2 = for1+1; for2 < n; ++for2)
		for(for3 = for2+1; for3 < n; ++for3)
			if(  abs(d(p[for1], p[for2]) - d(p[for2], p[for3])) < 0.001  &&  abs(d(p[for3], p[for2]) - d(p[for3], p[for1])) < 0.001  )
				++count;

write();



fclose(stdin);
fclose(stdout);

return 0;
}