PKU 2007-Scrambled Polygon

問題概要

凸多角形の頂点がランダムな順番で与えられる。
(0,0)にある頂点(かならず与えられる)から反時計周りの順番で頂点の座標を答えよ

解法

凸包する。(と順番が揃う)

実装(C++)

Polygon P;
int main(){
	int x,y;
	while(cin>>x>>y){
		P.push_back(Point(x,y));
	}
	P=convex_hull(P);
	REP(i,P.size()){
		if(P[i]==Point(0,0)){
			REP(j,P.size()){
				cout<<P[(j+i)%P.size()]<<endl;
			}
			break;
		}
	}
}