11729-ハノイタワー移動順


📚 11729-ハノイタワー移動順


ハノイタワー移動順
 

理解する


✔市河内タワー規則
1、2、3の塔があり、オリジナルの塔の数がある場合
(1)AからBに1個の小円板n−1を移動させる.
(2)AからCに1つの大きな円盤を移動させる.
(3)BからCに1個の小円板n−1を移動させる.
このように行います.
 

ソース

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)
 
採点結果