11729-ハノイタワー移動順
3706 ワード
📚 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)
採点結果
Reference
この問題について(11729-ハノイタワー移動順), 我々は、より多くの情報をここで見つけました
https://velog.io/@chang626/11729-하노이-탑-이동-순서
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
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)
Reference
この問題について(11729-ハノイタワー移動順), 我々は、より多くの情報をここで見つけました https://velog.io/@chang626/11729-하노이-탑-이동-순서テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol