Duality
시간 제한0.2초메모리 제한1024 MB
평면 위의 점 N개가 주어질 때, 각 점을 새 점 하나와 이어 만든 N개의 선분이 서로 교차하지 않도록 새 점 N개를 정해 출력한다.
문제
차원 평면 위에 주어진 개의 점 각각을 한 끝점으로 하고, 주어지지 않은 점을 다른 끝점으로 하는 선분을 개 만들어 서로 교차하지 않게 해 보자. 개의 점은 모두 정수 좌표의 점이며, 서로 같은 좌표에 있으면 안 된다.
어떤 선분의 끝점이 다른 선분 위에 있거나, 두 선분이 끝점에서 만나면 교차하는 경우로 본다.
입력
총 개의 테스트 케이스가 입력으로 주어지며, 첫째 줄에 가 주어진다.
테스트 케이스의 첫째 줄에 이 주어진다.
테스트 케이스의 둘째 줄부터 개의 점이 주어진다. 그중 번째 줄에는 번 점의 좌표 정수 , 가 공백으로 구분되어 주어진다.
주어지는 모든 점의 좌표는 서로 다르다.
입력으로 주어지는 점들을 이용해 선분 개를 서로 교차하지 않게 항상 만들 수 있음을 보장한다.
출력
각 테스트 케이스마다 개의 줄에 걸쳐 교차하지 않는 개의 선분을 출력한다.
그중 번째 줄에는 주어진 점의 번호 와 주어지지 않은 점의 좌표 정수 , 를 공백으로 구분하여 출력한다. 이는 주어진 번 점과 의 점이 선분을 이루었다는 의미이다. 출력하는 는 서로 달라야 한다. ;
가능한 경우가 여럿인 경우는 그중 아무거나 하나를 출력한다.