아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

무용수

면접 대비

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

요약
아직 짝이 없는 댄서 중 가장 가까운 두 명을 반복해서 짝지어 주고, 모든 짝을 정렬해 출력한다.
난이도

보통10점 중 5점

유형
정렬, 기하, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

알렉스는 참가하고 싶었던 볼룸 댄스 대회를 놓치고 말았다. 그래서 어떤 무용수들이 짝을 이루어 함께 춤을 추었는지 알아내려고 한다. 그는 모든 무용수가 또렷하게 보이는 대회 사진 한 장을 가지고 있으며, 그 사진을 보고 무용수 N명(N은 짝수) 전원의 좌표를 적어 두었다.

알렉스는 다음 방법으로 짝을 복원한다. 아직 짝이 정해지지 않은 무용수들 중에서 서로 (유클리드 거리 기준으로) 가장 가까운 두 무용수를 골라 한 쌍으로 묶는 과정을 반복한다. 최소 거리가 같은 쌍이 여러 개라면 사전순으로 가장 앞서는 쌍을 선택한다. 무용수에게는 1번부터 N번까지 번호가 매겨져 있고, 한 쌍 안에서는 번호가 작은 무용수를 먼저 쓴다. 따라서 쌍 (a,b)(a, b)는 항상 a<ba < b이며, 두 쌍은 먼저 aa를 비교하고 같으면 bb를 비교한다.

모든 쌍을 구하여라.

입력

첫째 줄에 짝수 N (2≤N≤3002 \le N \le 300)이 주어진다.

이어지는 N개의 줄 중 i번째 줄에는 i번 무용수의 x좌표와 y좌표를 나타내는 두 정수가 주어진다. 모든 좌표의 절댓값은 10810^8보다 작다.

출력

N/2개의 줄을 출력한다. 각 줄에는 한 쌍을 이루는 두 무용수의 번호를 작은 번호부터 출력한다. 줄들은 사전순 오름차순으로 정렬되어야 한다.

예제2

  1. 예제 1

    입력
    6
    0 2
    3 2
    0 0
    1 0
    0 -2
    2 -2
    
    예상 출력
    1 2
    3 4
    5 6
    
  2. 예제 2

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