【发布时间】:2015-09-28 00:49:35
【问题描述】:
考虑原始河内塔问题的一个额外条件:
- 如果您有 3 极 A、B 和 C,则不允许将圆盘直接从 A 移动到 B 或从 B 移动到 A
这意味着从著名的递归解决方案中,我们不允许将 start 移动到 temp 或 temp to start。
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);
}
}
谁能帮我找到解决办法?
【问题讨论】:
-
是什么让您认为有解决方案?
-
你的意思是没有?
-
我不知道;你似乎认为有,所以我想知道这是什么基础。
-
当然有解决方案。我相信你可以通过谷歌搜索找到它。