✔️ 하노이탑 규칙
1, 2, 3 탑이 있고 탑의 개수만큼 원판이 있을 때
(1) 작은 원반 n - 1개를 A
에서 B
로 이동한다.
(2) 큰 원반 1개를 A
에서 C
로 이동한다.
(3) 작은 원반 n - 1개를 B
에서 C
로 이동한다.
이와 같이 진행된다.
import sys
read = sys.stdin.readline
n = int(read())
result = []
def hanoitab(num, f, b, t):
if num == 1:
result.append((f, t))
else:
hanoitab(num - 1, f, t, b)
result.append((f, t))
hanoitab(num - 1, b, f, t)
hanoitab(n, 1, 2, 3)
print(len(result))
for x, y in result:
print(x, y)
채점 결과