Cod sursa(job #2747966)

Utilizator realmeabefirhuja petru realmeabefir Data 29 aprilie 2021 19:25:05
Problema Patrate 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <set>
#include <cmath>

using namespace std;

ifstream f("patrate3.in");
ofstream g("patrate3.out");

int puncte[1005][2];
set<pair<int, int>> s;

bool patrat(int i1, int i2)
{
    int x, y;

    y = puncte[i2][0] - puncte[i1][0];
    x = puncte[i1][1] - puncte[i2][1];
    if (s.find({puncte[i1][0]+x, puncte[i1][1]+y}) != s.end() && s.find({puncte[i2][0]+x, puncte[i2][1]+y}) != s.end())
        return 1;
    return 0;
}

int main()
{
    int n;
    f >> n;

    for (int i = 0 ; i < n; i++)
    {
        double x,y;
        f >> x >> y;
        puncte[i][0] = round(x * 10000);
        puncte[i][1] = round(y * 10000);
        s.insert({puncte[i][0], puncte[i][1]});
    }
    int nr = 0;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            if (i != j && patrat(i, j))
                nr++;

    g << nr/4;

    return 0;
}