文章
1
粉丝
504
获赞
0
访问
9.3k
hdu2064的汉诺塔,为什么按照高分篇里汉诺塔递推,推出来是错的,是哪里写错了么
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2064
代码:
#include<stdio.h>
#include<string.h>
#include<queue>
int step;
void Hanoi(int n,char a,char b,char c){
if(n==1){
step++;
return;
}
Hanoi(n-1,a,b,c);
Hanoi(1,a,c,b);
Hanoi(n-1,c,b,a);
Hanoi(1,b,a,c);
Hanoi(n-1,a,b,c);
}
int main( ){
int n;
while(scanf("%d",&n)){
if(n==0) break;
step=0;
Hanoi(n,'A','B','C');
printf("%d\n",step);
}
}
登录后发布评论
仔细读题,这是汉诺塔题目的变形了,汉诺塔1,2,3