Cod sursa(job #3308850)

Utilizator Mateixx1Trandafir Matei Mateixx1 Data 28 august 2025 18:10:33
Problema Patrate 3 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#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;
}