문제

문제 1582

하노이탑(재귀)

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

문제 설명

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

입력 설명

원판의 수가 입력된다.

출력 설명

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

입력 예시

3

출력 예시

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

출처

정보과학 함수