Cod sursa(job #464646)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 21 iunie 2010 12:18:56
Problema Patrate 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,ans;
int j;
float dx,dy;
pair<float,float> P[1000];
pair<float,float> p1,p2;
bool cmp(pair<float,float>a,pair<float,float>b)
{return a.first<=b.first-0.0001||a.first<b.first+0.0001&&a.second<=b.second-0.0001;}
int main()
{int i;
freopen("patrate3.in","r",stdin);
freopen("patrate3.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;++i)
  scanf("%f%f",&P[i].first,&P[i].second);
sort(P,P+n,cmp);
for(i=1;i<=n;++i)
  for(j=i;j<=n;++j)
    if(P[j].first>P[i].first&&P[j].second>=P[i].second)
     {dx=P[j].first-P[i].first;
     dy=P[j].second-P[i].second;
     p1=P[i];
     p2=P[j];
     p1.first-=dy;
     p2.first-=dy;
     p1.second+=dx; p2.second+=dx;
     if(binary_search(P,P+n,p1,cmp)&&binary_search(P,P+n,p2,cmp))
      ++ans;}
printf("%d",ans);
return 0;}