Cod sursa(job #2849)

Utilizator crawlerPuni Andrei Paul crawler Data 19 decembrie 2006 15:34:37
Problema Triang Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#include <math.h>

double dist(double x1,double y1,double x2,double y2)
{
 double a=x1-x2, b=y1-y2;
 return sqrt((a)*(a)+(b)*(b));
}

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

   register double x[1501],y[1501], ab,bc,ca, EPS=0.001;
   register long i,j,k, tmp=0, n;
   

   scanf("%ld", &n);
   for(i=1;i<=n;++i)
    scanf("%lf%lf", &x[i],&y[i]);
    
   for(i=1;i<=n-2;++i)
    for(j=i+1;j<n;++j)
     for(k=j+1;k<=n;++k)
      {
       ab=dist(x[i],y[i],x[j],y[j]);
       bc=dist(x[k],y[k],x[j],y[j]);
       ca=dist(x[i],y[i],x[k],y[k]);
       if((ab-bc>=0)?ab-bc:bc-ab==EPS && (ca-bc>=0)?ca-bc:bc-ca==EPS)
        ++tmp;
       }

  printf("%ld\n",tmp);

  return 0;
 }