把大象装进冰箱里
自己没看过任何相关写法,就此问题想了两届晚自习,终于在第二天的数学课上找到灵感。
直接上代码了。
#include<iostream>
using namespace std;
int m = 1;
void move(int n,char a,char b,char c) {
if (n == 1)
cout << m++ << " move " << a << " to " << c << endl;
else //完成一次把大象装进冰箱里
{
move(n - 1, a, c, b); //打开冰箱门
move(1, a, b, c); //把大象装进去
move(n - 1, b, a, c); //关上冰箱门
}
}
int main() {
char a='A', b='B', c='C';
move(10, a, b, c);
system("pause");
return 0;
}
图片来自知乎
初学小白,欢迎指教