題目鏈接: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
代碼: