Cod sursa(job #895976)

Utilizator otto1Palaga Vicentiu-Octavian otto1 Data 27 februarie 2013 13:18:34
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int N, REZ;
int np;
typedef struct punct{int x,y;} PUNCT;
PUNCT p[1100];
double pante[1100000];
int a,b,i,j;
int main()
{
    f>>N;
    for(i=1;i<=N;++i) f>>p[i].x>>p[i].y;
    for(i=1;i<=N;++i)
        for(j=i+1;j<=N;++j)
            pante[++np]=(double)(p[i].x-p[j].x)/(p[i].y-p[j].y);
    sort (pante+1,pante+np+1);
    for (i=1;i<=np;++i)
    {
        int nr=1;
        while(i+1<=np && pante[i+1]==pante[i]) {++nr;++i;}
        REZ+=(nr*(nr-1))/2;
    }
    g<<REZ;
    return 0;
}