九连环
解九连环是一个三叉树问题,比如要让4环上,3环先上,然后4环才能上,3环下。整个过程是一个深度优先遍历。编程是一个典型的递归问题。
程序只是能用,没打算写的更精炼。
def jiulianhuan(n,direction):
if n==1:
print(str(n)+''+direction,end='')
return
jiulianhuan(n-1,'上')
if n>2:print()
print(str(n)+''+direction,end='')
if n > 2: print()
jiulianhuan(n-1,'下')
if n>2:print()
jiulianhuan(5,'下')
结果
1上2上1下
3上
1上2下1下
4上
1上2上1下
3下
1上2下1下
5下
1上2上1下
3上
1上2下1下
4下
1上2上1下
3下
1上2下1下