思路:先看代码,分成了四个条件。第一个和第二个表示的都是当白矩形存在某个黑矩形内部的情况。
另外就是:白矩形位于两个黑矩形的并集区域。
即可分为两种情况,一种是白矩形位于竖的区域(条件三),上图:
那么黄色区域就是判断范围
另一种是横的区域(条件四):
黄色区域即判断范围。
代码:
x1,y1,x2,y2=map(int,input().split())
x3,y3,x4,y4=map(int,input().split())
x5,y5,x6,y6=map(int,input().split())
flag=False
if x3<=x1 and y3 <=y1 and x4>=x2 and y4>=y2:
flag=True
elif x5<=x1 and y5 <=y1 and x6>=x2 and y6>=y2:
flag=True
elif x1>=max(x3,x5) and x2<=min(x4,x6):
if min(y4,y6)>=max(y3,y5) and min(y3,y5)<=y1 and max(y4,y6)>=y2:
flag=True
elif y1>=max(y3,y5) and y2 <=min(y4,y6):
if min(x4,x6)>=max(x3,x5) and min(x3,x5)<=x1 and max(x4,x6)>=x2:
flag=True
print("NO" if flag else "YES")
CAD加油!欢迎跟我一起讨论学习算法