- 汉诺塔问题
讨论
- @ 2025-11-19 21:33:01
这道题的思路是什么?
5 条评论
-
-
#include<bits/stdc++.h> using namespace std; int n; char a, b, c; void f(int n, char a, char b, char c) { if (n == 1) { cout << a << "->" << n << "->" << b << endl; return; } f(n - 1, a, c, b); //将n-1个盘子从a移动到c(借助b) cout << a << "->" << n << "->" << b << endl; f(n - 1, c, b, a); //将n-1个盘子从c移动到b(借助a) } int main() { cin >> n >> a >> b >> c; //将n个盘子从a移动到b(借助c) f(n, a, b, c); return 0; }
- 1
信息
- ID
- 207
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 312
- 已通过
- 96
- 上传者