Cod sursa(job #1560512)

Utilizator elevenstrArina Raileanu elevenstr Data 2 ianuarie 2016 19:52:25
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("trapez.in");
ofstream out("trapez.out");
struct punct
{
    long long x, y;
}v[1008];
double p[1000008];
int main()
{
    long long n,i,j,k,c=0,ans=0;

    in>>n;
    for(int i=1;i<=n;i++)
        in>>v[i].x>>v[i].y;
    for(int i=1;i<=n;i++)
    for(int j=i+1;j<=n;j++)
     p[++c]=(double)(v[i].x-v[j].x)/(v[i].y-v[j].y);

    sort(p+1,p+c+1);
    for(int i=1;i<=c;i++)
    {   int nr=1;
        while(p[i]==p[i+1]&&i+1<=c)
        {
            ++nr;
            ++i;
        }
        ans+=(nr*(nr-1))/2;
        //combinari de nr luate cate 2
    }
    out<<ans;
    return 0;
}