# 코딩 문제 관련/파이썬

백준 11729번(python)

Hwiyong Jo 2019. 6. 28. 17:19


# 사실 하노이는 2 ^ 원반의 갯수 - 1을 해서 프린트 해주면
# 이런식으로 리스트는 사용하지 않아도 됩니다.(쓴 이유 : 그냥..)

K = int(input())
print_list = []

def hanoi(num, a, b, c, print_list):
    if(num == 1):
        print_list.append([a, c])
        return None
    
    hanoi(num - 1, a, c, b, print_list)
    print_list.append([a, c])
    hanoi(num - 1, b, a, c, print_list)
hanoi(K, 1, 2, 3, print_list)

print(len(print_list))
for a, b in print_list:
    print('{} {}'.format(a, b))