Cod sursa(job #1711716)

Utilizator bogoismarandaBogoi Smaranda bogoismaranda Data 1 iunie 2016 00:06:01
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<cstdio>
#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 cnt=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++){
            cnt++;
            p[cnt]=1.0*(v[j].y-v[i].y)/(v[j].x-v[i].x);
        }
    sort(p+1,p+cnt+1);
    for(i=2;i<=cnt;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;
}