Cod sursa(job #2956951)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 21 decembrie 2022 12:46:42
Problema Patrate 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <set>

///#include <tryhardmode>
///#include <GODMODE::ON>

using namespace std;

ifstream fin ("patrate3.in");
ofstream fout ("patrate3.out");

const int NMAX=1e3+5;
const int VAL=1e4;

set<pair<int,int>>s;
pair<int,int> v[NMAX];

int main()
{
    int n,i,j,kon=0;
    double x,y;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x>>y;
        x=round(x*VAL);
        y=round(y*VAL);
        pair<int,int>p=make_pair(x,y);
        v[i]=p;
        s.insert(p);
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        {
            if(i==j)
                continue;
            pair<int,int>p1;
            pair<int,int>p2;
            int dist1=v[i].second-v[j].second;
            int dist2=v[j].first-v[i].first;
            p1=make_pair(v[i].first+dist1,v[i].second+dist2);
            p2=make_pair(v[j].first+dist1,v[j].second+dist2);
            if(s.find(p1)!=s.end() && s.find(p2)!=s.end())
                kon++;
        }
    kon/=4;
    fout<<kon;
    return 0;
}