思路
首先,rectangles[][]数组里保存的每个小矩形,都有4个角....而示例4,有相交区域,所以不止超过4个独立的角:
?
除了计算独立的角以外,还要计算矩形是否重叠过,以及核对矩形面积....所以在代码里,需要定义2个数组
一个用来存储角的位置,以及左下,右上,左上,右下的标志位。
另一个用来存储矩形区域的left,low,right,top的范围,用来核对面积用。 ...当我们每取出来一个角,都需要去匹配是否与以前的角重叠,为了效益需要用到Hash表,C语言没有Hash表函数,所以我们还需要自己来编写Hash表函数
代码如下:
#define AREA(rectang...i][7]=0;
}
}
//首先查找表,如果存在,则检查该角度是否被重叠,如果不存在,则插入表
bool Hash_search_insert(int Hash[][8],int x,int