Cod sursa(job #865495)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 26 ianuarie 2013 16:25:11
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int x[1005], y[1005];
double p[1000005];

int main()
{
    int N, i, j, nrpair=0, r=0, pp=0;

    fin >> N;

    for(i = 1; i <= N; i++) fin >> x[i] >> y[i];

    for(i = 1; i < N; i++)
      for(j = i + 1; j <= N; j++)
       if(x[j] - x[i] == 0)p[pp++] = 0x3f3f3f3f;
          else p[pp++] = double( y[j] - y[i]) / (x[j] - x[i]);

    sort(p + 1, p + pp + 1);

    nrpair = 1;

    for(i = 1; i < pp; i++)
      if(p[i] == p[i + 1]) nrpair++;
        else
        {
            r += ((nrpair - 1) * nrpair) / 2;
            nrpair = 1;
        }

    fout << r;

    fin.close();
    fout.close();
    return 0;
}