欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > OD E卷 - 实现 【正方形数量】

OD E卷 - 实现 【正方形数量】

2025/4/20 5:12:01 来源:https://blog.csdn.net/weixin_45228198/article/details/144225541  浏览:    关键词:OD E卷 - 实现 【正方形数量】

题目

输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方型数量,内积为0的两个向量垂直;
输入描述:
第一行输入为N,表示坐标数量,100以内的正整数;
之后的N行输入为坐标x y 以空格分隔,x, y为【-10,10】的整数;
输出描述:
可以构成的正方型数量

输入:
3
1 3
2 4
3 1
输出:
0

示例2
输入:
4
0 0
1 2
3 1
2 -1
输出
1

 

解题代码

 
# 坐标个数
n = int(input().strip())# 存储坐标点
point = []# 输入n 行
for i in range(n):point.append(list(map(int, input().strip().split())))# 升序排序
point.sort(key=lambda x: (x[0], x[1]))# 坐标数 小于4  无法组成正方形
if n < 4:print(0)
else:ans = 0for i in range(n):for j in range(i+1, n):tmp_x = 0tmp_y = 0tmp_x = point[i][0] + point[i][1] - point[j][1]tmp_y = point[i][1] + point[j][0] - point[i][0]if ([tmp_x, tmp_y]) not in point:continuetmp_x = point[j][0] + point[i][1] - point[j][1]tmp_y = point[j][1] + point[j][0] - point[i][0]if ([tmp_x, tmp_y]) not in point:continueans += 1print(int(ans /2))

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词