杭电关于汉诺塔的题目有十几题,有空可以做一下。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
void move(int n,int x,int y) {printf("%d:%c->%c\n",n,x,y);}
void hanoi(int n,int x,int y,int z)
{
if(n==1) move(n,x,z);
else{
hanoi(n-1,x,z,y);
move(n,x,z);
hanoi(n-1,y,x,z);
}
}
int main()
{
int n;
char x,y,z;
scanf("%d",&n);
x='A',y='B',z='C';
hanoi(n,x,y,z);
}