编辑代码

#include <iostream>
#include<string>
using namespace std;
int move(int no,string src,string dst){
    int count=1;
    cout<<"Move"<<no<<"from"<<src<<"to"<<dst<<endl;
    return count;
}

int hanoi(unsigned int n,string src,string tmp,string dst){
    int count=0;
    if(n==0){
        return -1;
    }
    if(n==1){
        count+=move(1,src,dst);
    }
    else{
        count+=hanoi(n-1,src,dst,tmp);
        count+=move(n,src,dst);
        count+=hanoi(n-1,tmp,src,dst);
    }
    return count;
}
int main() {
    unsigned int n=0;
    cin>>n;
    int count=hanoi(n,"S","T","D");
    cout<<"I moved"<<count<<"steps."<<endl;
	return 0;
}