Cod sursa(job #2844945)

Utilizator Luca_Miscocilucainfoarena Luca_Miscoci Data 6 februarie 2022 14:09:23
Problema Trapez Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>
#define NMAX 1000
using namespace std;

struct puncte {
  int x, y;

}v[NMAX + 1];

double panta[NMAX + 1];

int main(){

  ifstream fin ("trapez.in");
  ofstream fout ("trapez.out");

  int n, sol = 0;

  fin >> n;
  for (int i = 0; i < n; i++){
    fin >> v[i].x >> v[i].y;
  }

  int _size = 0;
  for (int i = 0; i < n; i++){
    for (int j = i + 1; j < n; j++)
      panta[_size ++] = (double) (v[j].y - v[i].y) / (v[j].x - v[i].x);
  }

  sort (panta, panta + _size);
  int i = 0;
  int s;
  double curr;
  while (i < _size){
    s = 0;
    curr = panta[i];
    while (panta[i] == curr)
      i++, s++;
    sol += s * (s - 1) / 2;
  }

  fout << sol;
  return 0;
}