https://www.acmicpc.net/problem/11729
hanoi
: 원판 이동을 위한 재귀 함수hanoi
실행cnt
활용def hanoi(start, middle, target, n):
global cnt
if n > 0:
hanoi(start, target, middle, n-1) # 마지막 원판 제외 중간봉으로 이동
cnt.append([start, target]) # 마지막 판 이동
hanoi(middle, start, target, n-1) # 나머지를 목표지점으로 이동
n = int(input())
cnt = []
hanoi('1', '2', '3', n)
print(len(cnt)) # 전체 이동 횟수 출력
for i in range(len(cnt)):
print(*cnt[i]) # 판 이동 경로 출력
이전에 구현해본 적 있는 하노이의 탑이지만, 다시 구현하려니 조금 헷갈리는 부분이 없지않아 있었지만, 다행히 잘 해결할 수 있었다.