Cod sursa(job #1311178)

Utilizator cojocarugabiReality cojocarugabi Data 7 ianuarie 2015 20:08:27
Problema Patrate 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
# include <bits/stdc++.h>
# define x first
# define y second
using namespace std;
ifstream fi("patrate3.in");
ofstream fo("patrate3.out");
pair < double , double > v[1005];
bool cmp(pair< double,double > a,pair< double, double > b)
{
    return (a.x <= b.x - 0.0001 || a.x < b.x + 0.0001 && a.y <= b.y - 0.0001);
}
int main(void)
{
    int n;
    fi>>n;
    for (int i=1;i<=n;++i) fi>>v[i].x>>v[i].y;
    sort(v+1,v+1+n);
    int ans=0;
    for (int i=1;i<=n;++i)
        for (int j=i+1;j<=n;++j)
           if (v[j].x>v[i].x && v[j].y >= v[i].y)
           {
                 pair < double , double > f,g;
                 double dx = v[j].x - v[i].x;
                 double dy = v[j].y - v[i].y;
                 f=v[i];g=v[j];
                 f.x-=dy;g.x-=dy;
                 f.y+=dx;g.y+=dx;
                 ans += (binary_search(v+1,v+1+n,f,cmp) && binary_search(v+1,v+1+n,g,cmp));
            }
     return fo << ans << '\n',0;
}