Cod sursa(job #917120)

Utilizator FlameingoAiordachioaei Marius Flameingo Data 17 martie 2013 12:47:12
Problema Trapez Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
#include<algorithm>
using namespace std;
const int inf=2e9;
int main()
{
    freopen("trapez.in","r",stdin);freopen("trapez.out","w",stdout);
    int x[1001],y[1001];float v[500505];int n,s=0,i,j,k=0;
    scanf("%d",&n);
    for(i=1;i<=n;++i)
    {
        scanf("%d%d",&x[i],&y[i]);
        for(j=i-1;j>=1;--j)
            v[++k]=x[i]==x[j]?inf:(float)(y[i]-y[j])/(x[i]-x[j]);
    }
    sort(v+1,v+k+1);
    j=1;
    for(i=2;i<=k;++i)
        if(v[i]==v[i-1])
            ++j;
        else
            s+=j*(j-1)/2,j=1;
    s+=j*(j-1)/2;
    printf("%d",s);
}