Cod sursa(job #7284)

Utilizator tudalexTudorica Constantin Alexandru tudalex Data 21 ianuarie 2007 13:18:48
Problema Patrate 3 Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasa a 9-a si gimnaziu Marime 0.85 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float x[1001],y[1001];
int i1,i2,i3,i4,i,sol,n;
float d(int i, int j)
{
      float d1,d2;
      if (x[i]<x[j]) d1=x[j]-x[i]; else d1=x[i]-x[j];
      if (y[i]<y[j]) d2=y[j]-y[i]; else d2=y[i]-y[j];
      return (d1*d1)+(d2*d2);
}
void solve()
{
     if (d(i1,i4)==d(i2,i3) && d(i3,i4)==d(i1,i2) && d(i1,i2)==d(i2,i3) && 
     (d(i1,i3)*d(i1,i3))==(d(i1,i2)*d(i1,i2))+(d(i2,i3)*d(i2,i3)))
     ++sol;
}
int main()
{
    freopen("patrate3.in","r",stdin);
    freopen("patrate3.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;++i) scanf("%f %f",&x[i],&y[i]);
    for (i1=1;i1<=n-3;++i1)
        for (i2=i1+1;i2<=n-2;++i2)
            for (i3=i2+1;i3<=n-1;++i3)
                for (i4=i3+1;i4<=n;++i4)
                    solve();
    printf("%d\n",sol);
    return 0;
}