题目链接:http://poj.org/problem?id=3304
题目大意:二维平面上n个线段,问是否存在一条直线,使得所有线段垂直投射到该直线上的投影,都两两有公共点?
所有投影都两两有公共点,那么投影直线一定有一条法线穿过所有的线段,问题转化为是否存在一条直线穿过所有的线段。
通过旋转平移的方式我们一定可以让这条直线经过所有线段中的至少两个端点(想象如果没有经过,那么我们把它向外移直到「撞到」一个端点,再通过旋转的方式使它再「撞」到另一个端点)。
因此枚举两个端点,并判断经过两端点的直线是否经过所有的线段即可。
1 |
|