#include <iostream>
#include <stack>
using namespace std;
stack<int> s[3];
void move(int x, int y,int n) {
int tmp = s[x-1].top();
s[x-1].pop();
s[y-1].push(tmp);
cout <<"Move "<<n<<" from "<<x<<" to "<<y << endl;
}
void hanoi(int A, int B, int C, int n) {
if (n == 1) {
move(A, C,n);
return ;
}
hanoi(A, C, B, n - 1);
move(A, C,n);
hanoi(B, A, C, n - 1);
}
int main() {
int n;
cin >> n;
for (int i = n; i >= 1; i--) {
s[0].push(i);
}
hanoi(1, 2, 3, n);
return 0;
}
0.0分
0 人评分
母牛的故事 (C语言代码)浏览:1409 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1550 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:783 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:609 |
回文数字 (C语言代码)浏览:2539 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:561 |
sizeof的大作用 (C语言代码)浏览:1592 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |
核桃的数量 (C语言代码)浏览:726 |