White Sheet

C - White Sheet

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

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

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

1590627-20190922153444503-1810126600.png

那么黄色区域就是判断范围

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

1590627-20190922153507019-93085992.png

黄色区域即判断范围。

代码:

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

转载于:https://www.cnblogs.com/CADCADCAD/p/11567685.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值