Cod sursa(job #516360)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 23 decembrie 2010 20:09:03
Problema Triang Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <cstdio>

#define file_in "triang.in"
#define file_out "triang.out"

#define nmax 1600

int n;
int i,j,k,nr=0;
double x[nmax];
double y[nmax];
double ab,bc,ca;

double determina_latura(double xa, double ya, double xb, double yb){
	
	return (xa-xb)*(xa-xb)+(ya-yb)*(ya-yb);
}

int cmp(double x, double y){
	
	return (y-x<=0.0000001);
}


int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &n);
	for (i=1;i<=n;++i)
		 scanf("%lf %lf", &x[i], &y[i]);
	
	//O(N^3)-brute force
	
	for (i=1;i<=n-2;++i)
		 for (j=i+1;j<=n-1;++j)
			  for (k=j+1;k<=n;++k){
				  ab=determina_latura(x[i],y[i],x[j],y[j]);
				  bc=determina_latura(x[j],y[j],x[k],y[k]);
				  ca=determina_latura(x[k],y[k],x[i],y[i]);
				   if (cmp(ab,bc) && cmp(bc,ca))
					   nr++;
			  }
			  
	printf("%d\n", nr);

	return 0;
	
}