Cod sursa(job #2296247)

Utilizator stan_flaviusStan Flavius Stefan stan_flavius Data 4 decembrie 2018 16:19:27
Problema Trapez Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 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;
};

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

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++)
          {double sus=a[i].y-a[j].y;
           double jos=a[i].x-a[j].x;
           if(jos!=0) {k++; v[k]=sus/jos;}
          }

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

  int nr,val=0;
  for(i=1; i<k; i++)
      if(v[i]==v[i+1])
         {int poz=i+1;
          nr=1;
          while(v[i]==v[poz]) {poz++; nr++;}
          i=poz;
          val+=(nr*(nr-1))/2;
         }

  fout<<val;
    return 0;
}