考虑一下原来的河内塔问题还有一个额外的条件:
这意味着从着名的递归解决方案来看,我们不允许从温度或温度开始移动。
void hanoi(int n, char start, char temp, char finish){
if (n== 1)
cout << start << " -> " << finish;
else {
hanoi(n - 1, start, finish, temp);
cout << start << " -> " << finish;
hanoi(n - 1, temp, start, finish);
}
}
任何人都可以帮我找到解决方案吗?
答案 0 :(得分:0)
不是直接从A移动到B,而是执行中间移动A-> C-> B。如果实现是正确的,那么应该始终可以这样做。