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

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

재귀적으로 도는 개미

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

요약
크기가 2^n x 2^n이고 금지 칸이 최대 50개인 판에서, 사분면을 재귀적으로 도는 해밀턴 경로가 각 변에서 끝날 수 있는 칸을 찾거나 없음을 보고한다.
난이도

어려움10점 중 9점

유형
분할 정복, 재귀, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

2n×2n2^n \times 2^n 크기의 체스판이 있고, 일부 칸은 금지 칸으로 표시되어 있다. 개미는 금지 칸을 제외한 모든 칸을 정확히 한 번씩 방문해야 한다. 이동은 왼쪽 위 칸 (0,0)(0, 0) 에서 시작하며, 이 시작 칸은 절대 금지 칸이 아니다. 마지막에는 판 밖으로 나가야 하므로, 개미는 판의 네 변(바깥 테두리) 중 한 곳에 있는 칸에서 경로를 끝내야 한다. 한 번의 이동으로 개미는 상하좌우로 인접한 칸(최대 네 칸) 중 하나로 갈 수 있다.

이 경로는 재귀적이다. 2k×2k2^k \times 2^k 크기의 블록을 도는 방법은 다음과 같다. 블록을 2k−1×2k−12^{k-1} \times 2^{k-1} 크기의 사분면 네 개로 나눈 뒤, 각 사분면을 차례대로 돈다. 개미가 어떤 사분면에 들어가면, 그 사분면 안의 금지되지 않은 칸을 모두 방문하기 전에는 그 사분면을 떠날 수 없다.

8 곱하기 8 판 위의 재귀적 경로 두 개

그림은 23×232^3 \times 2^3 판 위의 재귀적 경로 두 개를 보여 준다. 둘 다 (0,0)(0, 0) 칸에서 시작하며, 첫 번째는 위쪽 변에서, 두 번째는 왼쪽 변에서 끝난다.

다음을 수행하는 프로그램을 작성하시오.

  • 판의 크기를 정하는 nn 과 금지 칸의 개수 mm, 그리고 모든 금지 칸의 좌표를 입력받는다.
  • 네 변 각각에 대해, 위에서 설명한 재귀적 경로가 끝날 수 있는 칸을 하나 찾거나, 그런 칸이 존재하지 않음을 판정한다.
  • 결과를 출력한다.

네 모서리 칸은 각각 동시에 두 변에 속한다.

입력

첫째 줄에 양의 정수 nn 이 주어지며 n≤30n \le 30 이다. 판의 크기는 2n×2n2^n \times 2^n 이다. 둘째 줄에 금지 칸의 개수 mm 이 주어지며 m≤50m \le 50 이다.

이어지는 mm 개의 줄에는 각각 공백 하나로 구분된 음이 아닌 두 정수 ii 와 jj 가 주어진다. ii 는 금지 칸의 행 번호, jj 는 열 번호이다. 행과 열은 00 부터 2n−12^n - 1 까지 번호가 매겨지고, 왼쪽 위 칸이 (0,0)(0, 0) 이다. 시작 칸 (0,0)(0, 0) 은 절대 금지 칸이 아니다.

출력

네 줄을 출력한다. 각 줄에는 공백 하나로 구분된 음이 아닌 두 정수(해당 경로가 끝나는 칸의 행 번호와 열 번호)를 출력하거나, 그런 칸이 없으면 NIE 를 출력한다.

첫째 줄은 위쪽 변에서 끝나는 경로, 둘째 줄은 오른쪽 변, 셋째 줄은 아래쪽 변, 넷째 줄은 왼쪽 변에 대한 것이다.

예제4

  1. 예제 1

    입력
    3
    17
    2 0
    1 0
    3 0
    6 0
    7 0
    6 1
    7 1
    6 2
    7 2
    6 3
    7 3
    0 2
    0 3
    0 6
    0 7
    1 6
    1 7
    
    예상 출력
    0 4
    NIE
    NIE
    4 0
    
  2. 예제 2

    입력
    1
    0
    
    예상 출력
    0 1
    0 1
    1 0
    1 0
    
  3. 예제 3

    입력
    1
    1
    0 1
    
    예상 출력
    NIE
    1 1
    1 1
    NIE
    
  4. 예제 4

    입력
    3
    16
    0 4
    0 5
    0 6
    0 7
    1 4
    1 5
    1 6
    1 7
    2 4
    2 5
    2 6
    2 7
    3 4
    3 5
    3 6
    3 7
    
    예상 출력
    NIE
    4 7
    7 4
    NIE