Cod sursa(job #2594558)

Utilizator iulianarsenoiuArsenoiu Iulian iulianarsenoiu Data 6 aprilie 2020 12:43:22
Problema Trapez Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <map>

using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct puncte
{
    int x,y;
};
puncte v[1005];
map<double,int> mp;
int main()
{
    int n;
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>v[i].x>>v[i].y;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            double panDa;
            if(v[i].y-v[j].y!=0)
                 panDa=1.0000*(v[i].x-v[j].x)/(1.000000*(v[i].y-v[j].y));
            else
            {
                panDa=v[i].x-v[j].x;
            }
            mp[panDa]++;
        }
    }
    long long nr=0;
    for(auto it : mp)
    {
        nr+=(it.second*(it.second-1))/2;
    }
    g<<nr<<'\n';
    return 0;
}