题目链接:http://poj.org/problem?id=1696
这题比较容易想到贪心策略:每次只找当前结点需要向逆时针转最小角度能到达的点即可。每次拓展一个点之后以当前结点为基准对其它点进行极角排序,并找到第一个从当前结点旋转方向为逆时针并没被访问过的点拓展即可。
但有一个坑点:极角排序时如果当前基准点位于许多点中间而非它们的边界上,那么极角序并不是唯一的(极角序转过360度依次减小形成了一个环),此时排序的结果是不可用的,因此要在排序前去掉所有在当前结点(准确地说是当前边)顺时针方向的点。
1 |
|