Pagini recente » Cod sursa (job #426389) | Cod sursa (job #2619872) | Cod sursa (job #2588247) | Cod sursa (job #2268113) | Cod sursa (job #2620881)
#include <bits/stdc++.h>
using namespace std;
const double eroare = 0.00001;
bool cmp(const pair<double, double> &a, const pair<double, double> &b){
if(abs(a.first - b.first) < eroare)
return a.second < b.second;
return a.first < b.first;
}
int main() {
ifstream f("patrate3.in");
ofstream g("patrate3.out");
vector<pair<double, double>> v;
int n;
int patrate = 0;
f >> n;
for(int i = 0; i < n; i++)
{
pair<double, double> x;
f >> x.first >> x.second;
v.emplace_back(x.first, x.second);
}
sort(v.begin(), v.end(), cmp);
for(int i = 0; i < n - 1; i++)
for(int j = i+1; j < n; j++)
if(v[i].first < v[j].first && v[i].second <= v[j].second)
{ double dif1 = v[j].first - v[i].first;
double dif2 = v[j].second - v[i].second;
pair<double, double> a,b;
a = make_pair(v[i].first - dif2, v[i].second + dif1);
b = make_pair(v[j].first - dif2, v[j].second + dif1);
if (binary_search(v.begin(), v.end(), b, cmp) && (binary_search(v.begin(), v.end(), a, cmp)))
patrate++;
}
g << patrate;
return 0;
}