Cod sursa(job #1714840)

Utilizator CrystyAngelDinu Cristian CrystyAngel Data 9 iunie 2016 16:17:57
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <map>
#include <fstream>

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");

typedef struct coord
{
    int x,y;
};

map <long double,int> m;
coord v[1100];
int n,i,j,nr;

int main()
{
    f>>n;
    for(i=1; i<=n; ++i)
        f>>v[i].x>>v[i].y;
    for(i=1; i<n; ++i)
        for(j=i+1; j<=n; ++j)
            if(v[i].x-v[j].x!=0)
                m[(long double)(v[i].y-v[j].y)/(v[i].x-v[j].x)]++;
            else
                nr++;
    nr=nr*(nr-1)/2;
    for(map<long double,int>::iterator it=m.begin(); it!=m.end(); ++it)
        nr+=it->second*(it->second-1)/2;
    cout<<nr;
}