Cod sursa(job #920543)

Utilizator Walrus21andrei Walrus21 Data 20 martie 2013 15:39:48
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <algorithm>
#define NMAX 1003

using namespace std;

FILE *f=fopen("trapez.in","r");
FILE *g=fopen("trapez.out","w");

struct pct{int x;int y;};
struct p{int nr;int nu;};

int i,j,N,nr,k,sol;
double d[NMAX*NMAX];
pct v[NMAX];

int main()
{
    fscanf(f,"%d",&N);
    for(i=1;i<=N;i++)
     fscanf(f,"%d%d",&v[i].x,&v[i].y);
    for(i=1;i<N;i++)
     for(j=i+1;j<=N;j++)
      d[++nr]=(double)(v[i].x-v[j].x)/(v[i].y-v[j].y);
    stable_sort(d+1,d+nr+1);
    for(i=1;i<=nr;i++)
    {
        k=1;
        while(i<nr&&d[i+1]==d[i]) {i++; k++;}
        sol+=k*(k-1)/2;
    }
    fprintf(g,"%d",sol);
    return 0;
}