Cod sursa(job #1830649)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 16 decembrie 2016 23:01:28
Problema Patrate 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
#define x first
#define y second
#define pa pair <double,double>
#define nmax 1005
#define eps 0.000001
using namespace std;
ifstream f("patrate3.in");
ofstream g("patrate3.out");
int n,i,j,ans;
pa v[nmax];

bool cmp(pa a,pa b)
{
    return(a.x<=b.x-eps||a.x<b.x+eps&&a.y<=b.y-eps);
}
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
        f>>v[i].x>>v[i].y;
    sort(v+1,v+1+n);
    for(i=1;i<=n;i++)
        for(j=i+1;j<=n;j++)
            if(v[j].x>v[i].x&&v[j].y>=v[i].y) {
                double dx=v[j].x-v[i].x,dy=v[j].y-v[i].y;
                pa a=make_pair(v[i].x+dy,v[i].y-dx);
                pa b=make_pair(v[j].x+dy,v[j].y-dx);
                ans+=(binary_search(v+1,v+1+n,b,cmp)&&binary_search(v+1,v+1+n,a,cmp));
            }
    g<<ans;
    return 0;
}