给定平面上的n(n<=20)个点,不存在三点共线。然后每次用某条直线(原点及斜率)逆时针旋转,每碰到一个点后,更换原点跟斜率。求出前s个原点。
考虑到n很小,可以模拟来搞。每次得到一个原点及斜率,然后构造出在直线上原点(O)的上方(rp)和下方(rn)两个点。然后依次每个不在该直线上的点,如果该点在直线上方,那么要达到该点逆时针旋转的角度为向量 rp->O 和向量 p->O的夹角。反之则是向量O->rp和向量O->rn的夹角。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include