#include <bits/stdc++.h> using namespace std; long long ans; void hanio(int n,char a,char b,char c)//把n个盘子借助b柱子从a移动到c { if(n==0) return; hanio(n-1,a,c,b); hanio(n-1,b,a,c); // move(a,b); ans++; hanio(n-1,c,a,b); hanio(n-1,b,c,a); //move(b,c) ans++; hanio(n-1,a,c,b); hanio(n-1,b,a,c); } int main() { int n; while(cin>>n) { ans=0; hanio(n,'a','b','c'); cout<<ans<<endl; } return 0; }
全部评论
(1) 回帖