Cod sursa(job #1501242)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 13 octombrie 2015 09:14:54
Problema Trapez Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <map>
#define MAX 20000000015
using namespace std;

int v[1000][2];
int c, n, r = 0, i, j;

map <double, int> m;

int main(){
    ifstream in("trapez.in");
    ofstream out("trapez.out");
    in >> n;
    for (i = 0; i < n; i++)
        in >> v[i][0] >> v[i][1];
    for (i = 0; i < n; i++){
        for (j = i + 1; j < n; j++){
            if((v[i][0] - v[j][0]) == 0)
                m[MAX]++;
            else
                m[(double)(v[i][1] - v[j][1])/(v[i][0] - v[j][0])]++;
        }
    }
    for (auto & i:m){
        r += i.second * (i.second - 1) / 2;
    }
    out << r;
    return 0;
}