Cod sursa(job #1801083)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 8 noiembrie 2016 17:27:42
Problema Patrate 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
ifstream f("patrate3.in");
ofstream g("patrate3.out");
const double eps=0.0001;
int n,i,j,ans;
pair<double,double> v[1<<10];
bool cmp(pair<double,double> a,pair<double,double> 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;
                double dy=v[j].y-v[i].y;
                pair<double,double> a=make_pair(v[i].x-dy,v[i].y+dx),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;
}