Pagini recente » Cod sursa (job #910449) | Cod sursa (job #128627) | Cod sursa (job #906071) | Cod sursa (job #290201) | Cod sursa (job #2747966)
#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;
}