꺾은선 03
시간 제한0.1초메모리 제한512 MB
원점에서 시작해 모든 점을 지나는 가로·세로 선분으로 이루어진 꺾은선을 찾고, 선분 수를 최소화하는 출력 전용 문제다.
문제
아제르바이잔은 카펫으로 유명하다. 카펫 디자이너인 당신은 꺾은선을 그려 새로운 디자인을 만들려고 한다. 꺾은선은 2차원 평면 위의 개 선분으로 이루어진 연속체이며, 개 점 의 나열로 정의된다. 각 에 대해 점 와 을 잇는 선분이 있다.
새 디자인을 만들기 위해 당신은 2차원 평면에 개의 점을 이미 찍어 두었다. 점 ()의 좌표는 이다. 어떤 두 점도 같은 x 좌표나 같은 y 좌표를 가지지 않는다.
이제 당신은 꺾은선을 정의하는 점의 나열 을 찾으려고 한다. 이 꺾은선은
- 에서 시작하고 (즉, 이고 ),
- 모든 점을 포함하며 (반드시 선분의 끝점일 필요는 없다),
- 수평 또는 수직 선분으로만 이루어진다 (꺾은선을 정의하는 연속한 두 점은 x 좌표나 y 좌표가 같다).
꺾은선은 자기 자신과 임의로 교차하거나 겹쳐도 된다. 엄밀히 말해, 평면의 각 점은 꺾은선의 임의의 개수 선분에 속할 수 있다.
이 문제는 부분 점수가 있는 출력 전용 문제이다. 점의 위치를 지정하는 개의 입력 파일이 주어진다. 각 입력 파일에 대해 요구 조건을 만족하는 꺾은선을 설명하는 출력 파일을 제출해야 한다. 요구 조건을 만족하는 꺾은선을 설명하는 각 출력 파일의 점수는 꺾은선의 선분 개수에 따라 달라진다 (아래 채점 기준 참고).
입력
각 입력 파일은 다음 형식이다.
- 번째 줄:
- 번째 줄 (for ):
출력
각 출력 파일은 다음 형식이어야 한다.
- 번째 줄:
- 번째 줄 (for ):
두 번째 줄에는 과 이 들어가야 한다 (즉, 출력에 과 이 들어가면 안 된다). 각 와 는 정수여야 한다.
제한
- 와 의 모든 값은 정수이다.
- 어떤 두 점도 같은 x 좌표나 같은 y 좌표를 가지지 않는다. 즉, 에 대해 이고 이다.