Cod sursa(job #1329404)

Utilizator AeroHHorea Stefan AeroH Data 29 ianuarie 2015 14:35:20
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <algorithm>
#include <map>
#define x first
#define y second
using namespace std;

int n,i,j,x,y,gc,rasp;


ifstream f("trapez.in");
ofstream g("trapez.out");
pair<int,int> v[1001];
map<double,int> m;
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)
            {
                x=v[i].x-v[j].x;
                y=v[i].y-v[j].y;
                if (y==0)
                    m[1337]++;
                else m[(double)x/y]++;
            }
    for(map<double,int>::iterator it=m.begin();it!=m.end();++it)
        {
            rasp+=it->second*(it->second-1)/2;
        }
    g<<rasp/2;


    return 0;
}