만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Vista 3

시간 제한0.1초메모리 제한128 MB

요약
평면 위의 점 최대 100만 개를 각각 한 번씩 지나고 시작한 점으로 돌아오는 경로를 출력합니다.
난이도

보통10점 중 6점

유형
기하, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

어느 날 프라하의 한 대기업이 모든 컴퓨터에 새 운영체제를 설치하기로 했다. 이 운영체제는 미국의 다른 대기업이 만들었다. 마지막 컴퓨터에 설치하자 나머지 컴퓨터가 모두 멈춰서 원격으로 제어할 수 없게 되었다. 관리자는 각 컴퓨터를 직접 찾아가 수동으로 재부팅해야 하므로, 모든 컴퓨터를 방문하는 경로가 필요하다.

각 컴퓨터는 평면 위의 점 (x,y)(x, y)이고, 두 컴퓨터 사이의 거리는 유클리드 거리 (x1−x2)2+(y1−y2)2\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}이다.

입력

첫 줄에 컴퓨터의 수 NN (1≤N≤10000001 \le N \le 1000000)이 주어진다. 이어지는 NN개의 줄에는 ii번째 컴퓨터의 좌표 xix_i, yiy_i (0≤xi,yi≤10000000 \le x_i, y_i \le 1000000)가 정수로 주어진다. 모든 컴퓨터는 서로 다른 위치에 있다.

출력

컴퓨터 번호를 방문 순서대로 N+1N+1개의 줄에 출력한다. 마지막 번호는 첫 번호와 같아야 하며, 경로는 시작한 컴퓨터로 돌아와야 한다. 시작 컴퓨터는 아무거나 골라도 된다.

예제1

  1. 예제 1

    입력
    5
    0 0
    0 1
    1 0
    1 2
    2 1
    
    예상 출력
    1
    3
    5
    4
    2
    1