题目链接:
题目意思:
给m个点,一个开始点和一个与水平方向的夹角。
求这条直线逆时针旋转时,第一个碰到的点a,然后以a点为新的转轴,再逆时针转,找到b,如此类推,最后顺序输出最开始的s个作为轴的点。
解题思路:
对于每一条旋转线,以轴为中心,分成两个相反向量,记为oa和ob.
对于每一个点c,如果该点在直线的左半部分,求出oa向量和oc向量的夹角,如果该点在直线的右半部分,求出ob向量与oc向量的夹角。
找出除去构成这条直线的两个点,找出其它的点的上述夹角最小的点,作为新的轴点,在构造出新的oa和ob.
注意oa和ob互为相反向量。
代码:
#include #include #include #include #include #include #include #include #include