【codevs3145】汉诺塔游戏

problem

solution

codes

#include<iostream>
using namespace std;
int n, ans = 0, t;
void f(int a, char b, char c){
    ans++;
    if(a == 1){
        if(t)cout<<a<<" from "<<b<<" to "<<c<<"\n";
        return ;
    }
    f(a-1,b,198-b-c);
    if(t)cout<<a<<" from "<<b<<" to "<<c<<"\n";
    f(a-1,198-b-c,c);
}
int main(){
    cin>>n;
    f(n,'A','C');
    cout<<ans<<"\n";
    t = 1;
    f(n,'A','C');
    return 0;
}
posted @ 2018-06-05 21:14  gwj1139177410  阅读(154)  评论(0)    收藏  举报
选择