문제1582--하노이탑(재귀)

1582: 하노이탑(재귀)

[만든사람 : ]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

A,B,C 3개의 기둥과 각 기둥에 꽂을 수 있는 크기가 다른 원판이 있다.
다음 조건을 지키면서 한 기둥에 쌓여 있는 원판들을 다른 기둥으로 옮겨야 한다.
조건
  1. 한 번에 1개의 원판만 옮길 수 있다.
  2. 가장 위에 있는 원판을 다른 기둥의 가장 꼭대기나 빈 기둥으로 옮길 수 있다.
  3. 작은 원판 위로 더 큰 원판을 옮길 수는 없다.
원판의 수(n)가 입력되면 이 규칙을 모두 지키며 최소 횟수로 모든 기둥을 A에서 C로 이동시키기 위한 방법을 출력하시오.
원판의 번호는 가장 작은 원판이 1이며 크기의 순서대로 번호가 붙어있다.


금지 키워드 : for while

입력 설명

원판의 수가 입력된다.

출력 설명

원판의 이동 방법을 한 줄에 하나씩 다음의 규칙에 맞춰 출력한다.
{원판번호(n)} {현재 기둥} {이동 기둥}

입력 예시 Copy

3

출력 예시 Copy

1 A C
2 A B
1 C B
3 A C
1 B A
2 B C
1 A C 

게시판

작성자제목(댓글)
글이 없습니다.

출처/분류