Pagini recente » Cod sursa (job #2731834) | Cod sursa (job #1290088) | Cod sursa (job #473955) | Cod sursa (job #652642) | Cod sursa (job #2313948)
#include <cstdio>
#include <map>
using namespace std;
#define M 10000
map <pair <int, int>, bool> c;
int main() {
FILE *in = fopen("patrate3.in", "r");
FILE *out = fopen("patrate3.out", "w");
int n, i, j;
int x, y;
fscanf(in, "%d", &n);
pair <int, int> v[n];
for(i = 0; i < n; i ++) {
fscanf(in, "%d.%d", &x, &y);
v[i].first = 2 * (x * M + y);
fscanf(in, "%d.%d", &x, &y);
v[i].second = 2 * (x * M + y);
c[v[i]] = true;
}
pair <int, int> m, c1, c2;
int ct = 0;
for(i = 0; i < n; i ++) {
for(j = i + 1; j < n; j ++) {
m.first = (v[i].first + v[j].first) / 2;
m.second = (v[i].second + v[j].second) / 2;
c1.first = m.first + (v[i].second - v[j].second) / 2;
c1.second = m.second - (v[i].first - v[j].first) / 2;
if(c.find(c1) != c.end()) {
c2.first = m.first - (v[i].second - v[j].second) / 2;
c2.second = m.second + (v[i].first - v[j].first) / 2;
if(c.find(c2) != c.end()) {
ct ++;
}
}
}
}
ct /= 2;
fprintf(out, "%d", ct);
return 0;
}