标签: algorithm shapes
我在网格上有两个矩形,分别由x,y,宽度和高度(所有整数)定义。
我想告诉他们其中一个是否平分。也就是说,不仅要重叠,而且要一直贯穿以创建三个矩形。
示例:
有相对省时的算法吗?
答案 0 :(得分:2)
如果我们看问题中的第二个示例,我们可以找到以下条件来确定矩形A是否垂直地将矩形B一分为二:
A
B
xA <= xB && xA + widthA >= xB + widthB && yA > yB && yA + heightA < yB + heightB
类似地,还有另外三种情况(水平的和反之亦然)。如果这些情况中有任何一种适用,则您有两等分。