#include<iostream>#include<cmath>#include<iomanip>#include<cstdlib>#include<ctime>using namespace std;void yd(int ,char,char,char );void ydd(int,char,char,char);int main(){ int n,t; cin>>t; for(int m=1;m<=t;++m) { int n; cin>>n; cout<<"Case #"<<m<<":"<<endl; ydd(n,'A','B','C'); }}void yd(int n,char a,char b,char c){ if(n==1) { cout<<"Move from "<<a<<" to "<<c<<endl; cout<<"Move from "<<a<<" to "<<c<<endl; } else { yd(n-1,a,c,b); cout<<"Move from "<<a<<" to "<<c<<endl; cout<<"Move from "<<a<<" to "<<c<<endl; yd(n-1,b,a,c); }}void ydd(int i,char a,char b,char c){ for(int n=i/2;n>1;--n) { yd(n-1,a,b,c); cout<<"Move from "<<a<<" to "<<b<<endl; cout<<"Move from "<<a<<" to "<<b<<endl; yd(n-1,c,b,a); cout<<"Move from "<<b<<" to "<<c<<endl; } cout<<"Move from "<<a<<" to "<<b<<endl; cout<<"Move from "<<a<<" to "<<c<<endl;}
Sample Input
224
Sample Output
Case #1:Move from A to BMove from A to CCase #2:Move from A to CMove from A to CMove from A to BMove from A to BMove from C to AMove from C to AMove from B to CMove from A to BMove from A to C