首页 > 试题广场 >

城市修建

[编程题]城市修建
  • 热度指数:5126 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

有一个城市需要修建,给你N个民居的坐标X,Y,问把这么多民居全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形)


输入描述:
第一行为N,表示民居数目(2≤N≤1000)


输出描述:
城市所需最小面积
示例1

输入

2
0 0
2 2

输出

4
示例2

输入

2
0 0
0 3

输出

9
num = int(input())
xlst = []
ylst = []

for i in range(num):
    newpoint = input()
    xlst.append(int(newpoint.split()[0]))
    ylst.append(int(newpoint.split()[1]))

xlen = max(xlst) - min(xlst)
ylen = max(ylst) - min(ylst)
area = max(xlen * xlen, ylen * ylen)
print(area)


编辑于 2020-08-20 06:09:40 回复(0)
一个Python版本
n = int(input())
pos_x = []
pos_y = []
for i in range(n):
    x,y = [int(x) for x in input().split()]
    pos_x.append(x)
    pos_y.append(y)

l = max(max(pos_x) - min(pos_x), max(pos_y) - min(pos_y))
print(l*l)


编辑于 2019-08-15 16:10:05 回复(0)