文章

1

粉丝

504

获赞

0

访问

9.0k

头像
hdu2064
我要提问
发布于2020年5月1日 15:29
阅读数 9.0k

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 条评论
admin SVIP
2020年5月1日 17:59

仔细读题,这是汉诺塔题目的变形了,汉诺塔1,2,3laugh

赞(0)