Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/yulyana | Istoria paginii utilizator/serbanmaerean | Monitorul de evaluare | Cod sursa (job #2013313)
#include <fstream>
#include <cmath>
#include <algorithm>
#include <set>
#define DIM 1010
using namespace std;
set<pair<int, int> > S;
pair<int, int> v[DIM];
int sol, n, midx, midy, dx, dy, i, j;
double x, y;
int main () {
ifstream fin ("patrate3.in");
ofstream fout("patrate3.out");
fin>>n;
for (i=1;i<=n;i++) {
fin>>x>>y;
v[i].first = 2*round(x*10000);
v[i].second = 2*round(y*10000);
S.insert(make_pair(v[i].first, v[i].second));
}
sort(v+1, v+n+1);
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++) {
midx = (v[i].first + v[j].first)/2;
midy = (v[i].second + v[j].second)/2;
dx = midx - v[i].first;
dy = midy - v[i].second;
if ((S.find( make_pair(midx-dy, midy+dx) ) != S.end()) && (S.find(make_pair(midx+dy, midy-dx)) != S.end())) {
sol++;
}
}
fout<<sol/2;
return 0;
}