已知正方形的一条边是可以确定正方形,假设两个点是(a1,a2),(b1,b2),那么可以确定 c1=a1+(a2-b2),c2=a2-(a1-b1) d1=b1+(a2-b2),d2=b2-(a1-b1) 或者 c1=a1+(a2-b2),c2=a2-(a1-b1); d1=b1+(a2-b2),d2=b2-(a1-b1); 因此一个正方形会被计算八遍,枚举任意两个点计算出来的结果/8就是答案,这个正方形可以二分也可以哈希,看到点的横坐标纵坐标范围很小考虑n4枚举任意两个点即可
输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。(内积只为零的的两个向量垂直)
第一行输入为N,N代表坐标数量,N为正整数。
N≤100
之后的N行输入为坐标x,y 以空格分隔,x,y为整数
−10≤x,y≤10
输出可以构成的正方形数量
输入
3
1 3
2 4
3 1
输出
0
说明
3个点不足以构成正方形
输入
4
0 0
1 2
3 1
2 -1
输出
1
说明
此4点可构成正方形