Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python2
- class Pole(list):
- def __init__(self, label, alist):
- self.label = label
- list.__init__(self, alist)
- def ToH(source, dest, spare, n, movenum):
- if n == 1:
- movenum[0] += 1
- print "{}: Move disc {} from {} to {}"\
- .format(movenum[0], source[-1],
- source.label, dest.label)
- dest.append(source.pop())
- else:
- ToH(source, spare, dest, n - 1, movenum)
- ToH(source, dest, spare, 1, movenum)
- ToH(spare, dest, source, n - 1, movenum)
- num = 13
- initList = list(xrange(1, num + 1))
- initList.reverse()
- A = Pole("A", initList)
- B = Pole("B", [])
- C = Pole("C", [])
- ToH(A, B, C, num, [0])
- print A
- print B
- print C
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement