PKU 3432 Count Squares
http://poj.org/problem?id=3432
n個のxy座標が与えられるので、それから構成されうる正方形の数を数えるというような問題。
AOJに似たようなものがありました。
set<PI> app; main(){ int n; cin>>n; rep(i,n){ int x,y; cin>>x>>y; app.insert(mp(x,y)); } int ans=0; FOR(siter,app){ FOR(siter2,app){ if(siter==siter2)continue; int x1=siter->F,y1=siter->S,x2=siter2->F,y2=siter2->S; if(app.count(mp(x1-(y2-y1),y1+(x2-x1))) && app.count(mp(x2-(y2-y1),y2+(x2-x1))))++ans; } } cout<<ans/4<<endl; }