Cod sursa(job #372226)

Utilizator alex@ndraAlexandra alex@ndra Data 9 decembrie 2009 08:37:21
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<fstream>
using namespace std;

typedef struct punct
{
   int x, y;
} Tpunct;

Tpunct v[1001];
int n, contor=0, a, b, c, d, i;
void citire()
{
     ifstream f("trapez.in");
         f>>n;
      for(i=1;i<=n;i++)
         f>>v[i].x>>v[i].y;
      f.close();
      
      }
 
int verificare(int a, int b, int c, int d)
{
    float m1, m2, m3, m4;
    m1=(float)(v[b].y-v[a].y)/(float)(v[b].x-v[a].x);
    m2=(float)(v[c].y-v[b].y)/(float)(v[c].x-v[c].x);     
    m3=(float)(v[d].y-v[c].y)/(float)(v[d].x-v[c].x); 
    m4=(float)(v[d].y-v[a].y)/(float)(v[d].x-v[a].x); 
    
    if(m1==m2||m2==m3||m3==m4||m4==m1||m2==m4||m1==m3)
        return 1;
    return 0;
}

int cate_sunt()
{
    
   for(a=1;a<=n-3;a++)
     for(b=a+1;b<=n-2;b++)
        for(c=b+1;c<=n-1;c++)
          for(d=c+1;d<=n;d++)
             contor=contor+verificare(a, b, c, d);
   
   return contor;
}

void afisare()
{
     ofstream g("trapez.out");
        g<<cate_sunt()-1;
      g.close();
}

int main()
{
    citire();
    afisare();

return 0;

}