対角線上の2点を決める
長方形は,対角線上の2点により一意に決まる.よって,- 左上と右下の座標を決めたとき,
- 左下と右上の座標が集合に含まれるか判定する
setのinなら$O(1)$で計算できるのがポイント.
【参考】Submission #25786522 - AtCoder Beginner Contest 218
対辺の数を求める
$x$座標が等しい2点に対し,2点の$y$座標の組$(y_{1}, y_{2})$をindexとしたカウンタD[(y1, y2)]
を考える.各$(y1, y2)$に対して,D[(y1, y2)]
から2つ選ぶ組み合わせを足し合わせたものが答えになる.
【参考】Submission #25759295 - AtCoder Beginner Contest 218