[白俊]1729号:ハノイタワー(Python)
質問する
私の答え
n=int(input())
def hanoi(num,start,mid,end):
if num==1:
print(start,end)
else:
hanoi(num-1,start,end,mid) #가장 아래에 있는 원판 제외 나머지 2로 이동(1->2)
print(start,end) #처음 장대에 남은 마지막 원판을 3으로(1->3)
hanoi(num-1,mid,start,end) #2번째 장대에 있는 다른 원판을 3으로(2->3)
print(2**n-1)
hanoi(n,1,2,3)
方法hanoi(num-1,start,end,mid)
は、n以外の残りの部分を開始位置から中間位置midに移動する.print(start,end)
を使用して、第1のロッドに残っているディスクを最後に移動します.最後に、第2のロッド上のn−1個のディスクを
hanoi(num-1,mid,start,end)
で最後のロッド上に移動させた.移動回数は良い位置付けを発見し、関連記事を参照します。:)
Reference
この問題について([白俊]1729号:ハノイタワー(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@yj_lee/백준-11729번-하노이-탑-파이썬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol