题目:两个不相交的多边形,求最近距离。
http://poj.org/problem id=3608
这里有详细的讲解:http://cgm.cs.mcgill.ca/~orm/mind2p.html
这是找到第一个凸包的左下角点,找到第二个凸的右下角的点,两条平行线卡壳。
然后开始旋转,分为三种情况:
两条线和两个凸包都重合,以及和其中一个凸包重合。
转变成线段与线段的最短距离,以及点与线段的最短距离,注意线段与线段的距离不等价于直线与直线的最短距离。
十分蛋疼的一题,估计很少有人1A,细节很多。
[cpp]
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include