Cod sursa(job #2289568)

Utilizator marian013Giugioiu Marian Constantin marian013 Data 24 noiembrie 2018 20:37:19
Problema Trapez Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int nr,k;
struct punct{
    int x,y;
}a[1005];
struct panta{
    int px,py;
}v[1005*1005];
inline bool cmp(const panta &p,const panta &q)
{
    return p.py*q.px<p.px*q.py;
}
int main()
{
    int i,j,n;
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i].x>>a[i].y;
    }
    for(i=1;i<=n;i++)
        for(j=i+1;j<=n;j++)
        {
            k++;
            v[k].py=a[j].y-a[i].y;
            v[k].px=a[j].x-a[i].x;
        }
    sort(v+1,v+k+1,cmp);
    int sol=0;
    for(i=1;i<=k;i++)
    {
        j=i;
        nr=0;
        while(j<=k&&v[i].py*v[j].px==v[i].px*v[j].py)
        {
            nr++;
            j++;
        }
        i=j-1;
        sol+=nr*(nr-1)/2;
    }
    g<<sol;
    return 0;
}