Cod sursa(job #1772336)

Utilizator c0mradec0mrade c0mrade Data 6 octombrie 2016 17:49:52
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<bits/stdc++.h>
#define inf 2000000002
#define e 0.00000000001
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");

int n,nr,ans,tmp;

struct nod{
    double x,y;
}v[1111];

double s[500100];


int main()
{
    f>>n;
    for(int i=0;i<n;++i)
        f>>v[i].x>>v[i].y;
    for(int i=0;i<n-1;++i)
        for(int j=i+1;j<n;++j)
            if(v[i].x-v[j].x)
                s[nr++]=(v[i].y-v[j].y)/(v[j].x-v[i].x);
            else
                s[nr++]=inf;
    sort(s,s+nr);
    for(int i=1;i<nr;++i)
        if(fabs(s[i]-s[i-1])<=e)
            tmp++;
        else
        {
            ans+=tmp*(tmp+1)/2;
            tmp=0;
        }
    g<<ans;
    return 0;
}