Cod sursa(job #1326621)

Utilizator gapdanPopescu George gapdan Data 25 ianuarie 2015 19:04:34
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
#include<unordered_map>
#define NMAX 1005
using namespace std;
struct punct
{
    int x,y;
}v[NMAX];
unordered_map<double,int>H;
int i,j,n;
int main()
{
    freopen("trapez.in","r",stdin);
    freopen("trapez.out","w",stdout);
    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)
        {
             H[(float)(v[j].y-v[i].y)/(v[j].x-v[i].x)];
        }
    unordered_map<double,int>::iterator it;
    long long sum=0;
    for (it=H.begin();it!=H.end();++it)
    {
        int x=*it->second;
        sum+=x*(x-1)/2;
    }
    printf("%lld\n",sum);
    return 0;
}