Cod sursa(job #1775772)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 10 octombrie 2016 18:26:26
Problema Patrate 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
# include <bits/stdc++.h>
# define x first
# define y second
using namespace std;
ifstream fin("patrate3.in");
ofstream fout("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;
    fin>>n;
    for (int i=1;i<=n;++i) fin>>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));
            }
      fout<<ans<<"\n";
}