Pagini recente » Cod sursa (job #3288334) | Cod sursa (job #557733) | Cod sursa (job #2353622) | Cod sursa (job #375584) | Cod sursa (job #76142)
Cod sursa(job #76142)
using namespace std;
#include<cstdio>
#include<algorithm>
#define Nm 1000
#define eps 0.00001
int n,ans;
pair<float,float> P[Nm];
void read()
{
int i;
freopen("patrate3.in","r",stdin);
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%f%f",&P[i].first,&P[i].second);
}
bool cmp(pair<float,float> a, pair<float,float> b)
{
return a.first<b.first-eps
|| a.first<=b.first+eps && a.second<b.second-eps;
}
void solve()
{
int i,j;
float dx,dy;
pair<float,float> p1,p2;
sort(P,P+n,cmp);
for(i=0;i<n;++i)
for(j=i+1;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;
}
}
void write()
{
freopen("patrate3.out","w",stdout);
printf("%d\n",ans);
}
int main()
{
read();
solve();
write();
return 0;
}