Решите головоломку (переложите все кольца с первого стержня на третий) с учетом этих ограничений. Вам не нужно находить минимальное решение, но количество совершенных перемещений не должно быть больше 200000, при условии, что количество дисков не превосходит 10.
Каждое перемещение задается тремя числами: номер кольца, исходный стержень, конечный стержень.
Ввод
1
Вывод
1 1 2
1 2 3
Ввод
2
Вывод
1 1 2
1 2 3
2 1 2
1 3 2
1 2 1
2 2 3
1 1 2
1 2 3
Не могу решить, помогите!
Вот мой вариант, но он не совсем так решает.
def move(n, start, finish): if start == 2 or finish == 2: if n > 0: temp = 6 - start - finish move(n - 1, start, temp) move(n - 1, temp, finish) print(n, start, finish) else: if n > 0: temp = 6 - start - finish move(n - 1, start, finish) move(n, start, temp) move(n - 1, finish, start) move(n, temp, finish) move(n - 1, start, finish) print(n, start, finish) n = int(input()) print(move(n,1,3))