平面内有n个矩形, 第i个矩形的左下角坐标为(x1[i], y1[i]), 右上角坐标为(x2[i], y2[i])。
如果两个或者多个矩形有公共区域则认为它们是相互重叠的(不考虑边界和角落)。
请你计算出平面内重叠矩形数量最多的地方,有多少个矩形相互重叠。
平面内有n个矩形, 第i个矩形的左下角坐标为(x1[i], y1[i]), 右上角坐标为(x2[i], y2[i])。
如果两个或者多个矩形有公共区域则认为它们是相互重叠的(不考虑边界和角落)。
请你计算出平面内重叠矩形数量最多的地方,有多少个矩形相互重叠。
输入包括五行。
第一行包括一个整数n(2 <= n <= 50), 表示矩形的个数。
第二行包括n个整数x1[i](-10^9 <= x1[i] <= 10^9),表示左下角的横坐标。
第三行包括n个整数y1[i](-10^9 <= y1[i] <= 10^9),表示左下角的纵坐标。
第四行包括n个整数x2[i](-10^9 <= x2[i] <= 10^9),表示右上角的横坐标。
第五行包括n个整数y2[i](-10^9 <= y2[i] <= 10^9),表示右上角的纵坐标。
输出一个正整数, 表示最多的地方有多少个矩形相互重叠,如果矩形都不互相重叠,输出1。
2 0 90 0 90 100 200 100 200
2
n = int(input())x1 = list(map(int,input().split()))y1 = list(map(int,input().split()))x2 = list(map(int,input().split()))y2 = list(map(int,input().split()))# 将所有原矩形的(x1,y1,x2,y2)坐标分别整理为 x坐标集合 & y坐标集合x_set = x1 + x2y_set = y1 + y2ans = 0# 依次枚举其中任意一对(x,y)所构成的子矩形for x in x_set:for y in y_set:cnt = 0for i in range(n):if (x1[i] <=x and y1[i] <=y and x2[i] > x and y2[i] > y): # 统计比这个子矩形大(完全能包裹住该子矩形)的原矩形有多少个cnt += 1ans = max(ans, cnt) # 每检查完一个子矩形,就更新一次当前的计数最大值print(ans)