题目链接:http://acm.nankai.edu.cn/p2118.html
题 意:给出一个多边形和多边形外两点A,B,求在不穿过多边形的条件下,两点A,B间的最短距离。
最短路问题,可以在能够直接相连的顶点间连边,然后求A点到B的最短路。
建图的关键在于判断两点的连线是否穿越了多边形。
有这样一个结论:如果线段穿越多边形,则1:线段与多边形中的边有内交关系
或2: 在所有与顶点相交的点中的相邻交点连线在多边形内。
http://bbs.pep.com.cn/thread-241056-1-1.html
另判断点是否在多边形内:
http://www.cppblog.com/w2001/archive/2008/09/23/31694.html
代码: