汉诺塔

Author Avatar
Axell 1月 08, 2019
  • 在其它设备中阅读本文章

题目描述

给出A塔上的盘子个数,输出最少的移动方案

代码

#include <bits/stdc++.h>
using namespace std;

void move(int n,char a,char b,char c){
    if (n==0) return;
    move(n-1,a,c,b);
    printf("move from %c to %c\n",a,c);
    move(n-1,b,a,c);
}

int main(){
    int n;
    cin>>n;
    cout<<pow(2,n)-1<<endl;
    move(n,'A','B','C');
    return 0;
}

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。

本文链接:https://hs-blog.axell.top/archives/52/