Cod sursa(job #2295900)

Utilizator stan_flaviusStan Flavius Stefan stan_flavius Data 4 decembrie 2018 00:15:55
Problema Trapez Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
#include <algorithm>
#define nmax 1001
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");

int n;
struct pct
{ int x,y;
};

struct panta
{ int sus,jos,val;
};

pct a[nmax];
panta v[1000000];

int comp(panta a,panta b)
{ return (a.sus*b.jos)<=(b.sus*a.jos);
}

int comp2(panta a,panta b)
{if((a.sus*b.jos)==(b.sus*a.jos)) return 1;
return 0;
}
int main()
{ fin>>n;
  int i,j;
  for(i=1; i<=n; i++) fin>>a[i].x>>a[i].y;
  int k=0;
  for(i=1; i<=n; i++)
      for(j=i+1; j<=n; j++)
          {int sus=a[i].y-a[j].y;
           int jos=a[i].x-a[j].x;
           if(jos!=0) {k++; v[k].sus=sus;
                            v[k].jos=jos;
                      }
          }

  sort(v+1,v+k+1,comp);

  int nr=0;
  for(i=1; i<k; i++)
      if(comp2(v[i],v[i+1])==1)
         {int poz=i+1;
          while(comp2(v[i],v[poz])==1) {poz++; nr++;}
          i=poz+1;
         }

  fout<<nr;
    return 0;
}