Cod sursa(job #1299066)

Utilizator FiliutaMariusFMI Filiuta Marius FiliutaMarius Data 23 decembrie 2014 14:45:58
Problema Patrate 3 Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 0.81 kb
#include<fstream>
#include<iostream>
#include<cmath>
#include<unordered_map>
#include<unordered_set>
using namespace std;
int main ()
{
    ifstream in("patrate3.in");
    ofstream out("patrate3.out");
    int n;
    long long k=0;
    float v[1001][2];
    unordered_map<float,unordered_set<float>> x;
    in>>n;
    for(int i=0;i<n;i++)
        in>>v[i][0]>>v[i][1];
    for(int i=0;i<n;i++)
        for(int j=i+1;j<n;j++)
        {
            float d,m;
            m=(v[j][1]-v[i][1])/(v[j][0]-v[i][0]);
            d=sqrt((v[j][0]-v[i][0])*(v[j][0]-v[i][0])+(v[j][1]-v[i][1])*(v[j][1]-v[i][1]));
            cout<<m<<' '<<d<<'\n';
            if(x.find(m)!=x.end() && x[m].find(d)!=x[m].end())
                k++;
            else
                x[m].insert(d);
        }
    out<<k;
}