C - White Sheet

思路:先看代码,分成了四个条件。第一个和第二个表示的都是当白矩形存在某个黑矩形内部的情况。

另外就是:白矩形位于两个黑矩形的并集区域。

即可分为两种情况,一种是白矩形位于竖的区域(条件三),上图:

那么黄***域就是判断范围

另一种是横的区域(条件四):

黄***域即判断范围。

代码:

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")