題目描述
1、一次只許移動一個盤
2、任何時候、任何柱子不允許把大盤放在小盤上面。
3、可使用任一一根立柱暫存圓盤。
問:如何使用最少步數實現n個盤子的移動?打印出具體移動方案。
輸入格式
一行一個數n, 1<= n <= 18
輸出格式
輸出若干行,第i行表示第i步的移動方案。具體格式參見輸出樣例。
樣例
樣例輸入
復制3
樣例輸出
復制A->C
A->B
C->B
A->C
B->A
B->C
A->C
_____________________________________________________________________________
寫作不易,點個贊唄!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?
_____________________________________________________________________________
#include <bits/stdc++.h>
using namespace std;
void f(int n,char a,char b,char c){if(n==1){cout<<a<<"->"<<c<<endl;return;}f(n-1,a,c,b);cout<<a<<"->"<<c<<endl;f(n-1,b,a,c);
}
int main(){int n;cin>>n;f(n,'A','B','C');
}