Cod sursa(job #1799586)

Utilizator martonsSoos Marton martons Data 6 noiembrie 2016 15:31:05
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <unordered_map>

using namespace std;

struct punct{
    int x, y;
};

int main()
{
    ifstream in("trapez.in");
    unordered_map<double, int> m;
    long long nr = 0;
    punct v[1000];
    int n;

    in>>n;

    for(int i=0;i<n;i++){
        int a, b;
        in>>a>>b;
        v[i] = punct{a, b};
    }

    for(int i=0;i<n;i++){
        for(int j=i+1;j<n;j++){
            int dx, dy;
            dx = v[i].x - v[j].x;
            dy = v[i].y - v[j].y;

            int num = m[((double)dy) / ((double)dx)];
            nr += num;
            m[((double)dy) / ((double)dx)] = num+1;
        }
    }

    ofstream out("trapez.out");
    out<<nr;
    return 0;
}