Cod sursa(job #1338658)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 10 februarie 2015 10:41:46
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
struct punct{int x,y;};
punct v[1001];
double p[1000001];
int main(){
    freopen("trapez.in","r",stdin);
    freopen("trapez.out","w",stdout);
    int n,i,j,l=1;
    long long nr=0,sol=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d%d",&v[i].x,&v[i].y);
    for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++){
            nr++;
            p[nr]=1.0*(v[j].y-v[i].y)/(v[j].x-v[i].x);
        }
    sort(p+1,p+nr+1);
    for(i=2;i<=nr;i++)
        if(p[i]==p[i-1])
            l++;
        else{
            sol=sol+l*(l-1)/2;
            l=1;
        }
    sol=sol+l*(l-1)/2;
    printf("%lld",sol);
    return 0;
}