From f8afe8ab48bda99b56821273afb35bef1b52e827 Mon Sep 17 00:00:00 2001 From: Jiyun Kim Date: Wed, 3 May 2023 15:56:27 +0900 Subject: [PATCH] =?UTF-8?q?#14=20:=2011729=5F=ED=95=98=EB=85=B8=EC=9D=B4?= =?UTF-8?q?=20=ED=83=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\353\205\270\354\235\264 \355\203\221.py" | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 "\354\235\264\355\213\260\354\247\200\354\234\244/11729_\355\225\230\353\205\270\354\235\264 \355\203\221.py" diff --git "a/\354\235\264\355\213\260\354\247\200\354\234\244/11729_\355\225\230\353\205\270\354\235\264 \355\203\221.py" "b/\354\235\264\355\213\260\354\247\200\354\234\244/11729_\355\225\230\353\205\270\354\235\264 \355\203\221.py" new file mode 100644 index 0000000..b39847c --- /dev/null +++ "b/\354\235\264\355\213\260\354\247\200\354\234\244/11729_\355\225\230\353\205\270\354\235\264 \355\203\221.py" @@ -0,0 +1,22 @@ +#11729_하노이 탑 + +n = int(input()) + +#n: 원판 수 +#a,b,c : 3개의 장대 +def top(n, a, b, c):# n개의 원판을 a에서 c로 옮기는 하노이 탑 + + # 원판 1개 : a->c로 옮기면 끝 + if n == 1: + print(a, c) + + # 재귀 + else: + top(n-1, a, c, b) # a에 있는 원판 n-1 개를 b로 옮김 + print(a, c) # a에 남아 있던 가장 큰 n번 원반을 c로 옮김 + top(n-1, b, a, c) # b의 n-1 개의 원반을 c로 옮김 + +sum = 2 ** n - 1 # 이동 횟수 = 2^n-1 +print(sum) + +top(n, 1, 2, 3) \ No newline at end of file