Cod sursa(job #398277)

Utilizator MESAROSLaura Mesaros MESAROS Data 18 februarie 2010 13:15:11
Problema Triang Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include<fstream>
#include<math.h>

using namespace std;

typedef struct coord
{
  int x, y;
};

coord v[1500];

int st[5];
int n, p, k=0;
 
 void citire()
 {
      int i;
  ifstream f("triang.in");
    f>>n;
    
   for(i=1;i<=n;i++)
       f>>v[i].x>>v[i].y;
  f.close();
}

int lung(int x1, int y1, int x2, int y2)
{ 
    int l;
    l=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
    return l;
}
     
  
int verifica()
{
    if(lung(v[st[1]].x,v[st[1]].y,v[st[2]].x,v[st[2]].y)==lung(v[st[2]].x,v[st[2]].y,v[st[3]].x,v[st[3]].y)==lung(v[st[1]].x,v[st[1]].y,v[st[3]].x,v[st[3]].y))
   return 1;
 return 0;
}      
              
void back(int p)
{
     int pval;
    for(pval=st[p-1]+1;pval<=n;pval++)
       {
       st[p]=pval;
       if(p==3)
        { verifica();
          k++;
        }
       else
          back(p+1);
       }   
}
     
void afisare()
{
     ofstream g("triang.out");
        g<<k;
    g.close();
}

int main()
{
    citire();
    back(1);
    afisare();
    return 0;
}