a*******g 发帖数: 3500 | 3 说说我的思路阿
这道题只需要检查大四边形范围内的gap,有gap 就return false.
大四边形的bottom left是这几个输入四边形bottom left最小的,top right是输入中
top right最大的。
下面就是找gap.第一,大的四边形面积如何大于几个小四边形面积的和,那肯定有gap.
return false.
然后,就是找这几个四边形的四个顶点的周围的情况。如果有void space ,那肯定也是
gap, return false.
下面就是如何判断顶点周围的void space。顶点有两种情况,第一种重合也就是在别的
四边形里面。这种没有void space.
第二种就是在小四边形交界处,也就是看看同样的坐标有几个顶点,并且这个顶点对应
的对角线方向。先看是否在大四边形顶点位置的坐标,这时候对角线方向小于1,为
void space。然后就是边上,对角线方向小于2为void space。剩下的就是如果各个对
角线方向的顶点数小于于4,有void space. |