Pagini recente » Cod sursa (job #3305426) | Cod sursa (job #3350275) | Cod sursa (job #3291605) | Cod sursa (job #1615332) | Cod sursa (job #3308850)
#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>
using namespace std;
ifstream f("patrate3.in");
ofstream g("patrate3.out");
const double EPS=1e-5;
int n,cate;
struct punct {
double x,y;
} P[1001];
vector<punct>da;
bool exista(punct a) {
for(const auto &w:da) {
if(abs(w.x-a.x)<EPS&&abs(w.y-a.y)<EPS) {
return 1;
}
}
return 0;
}
int main() {
f>>n;
for(int i=1; i<=n; i++) {
f>>P[i].x>>P[i].y;
da.push_back(P[i]);
}
for(int i=1; i<=n; i++) {
punct mij,cs,cd;
for(int j=i+1; j<=n; j++) {
mij.x=(P[i].x+P[j].x)/2;
mij.y=(P[i].y+P[j].y)/2;
cd.x=mij.y-P[j].y+mij.x;
cd.y=P[j].x-mij.x+mij.y;
cs.x=P[j].y-mij.y+mij.x;
cs.y=mij.x-P[j].x+mij.y;
if(exista(cs)&&exista(cd)) {
cate++;
}
}
}
g<<cate/2;
f.close();
g.close();
return 0;
}