文章

35

粉丝

0

获赞

144

访问

7.3k

头像
经典递归,分清辅助,目标的变换即可递归
P1082 复旦大学机试题
发布于2025年3月14日 14:40
阅读数 288

#include <bits/stdc++.h>
using namespace std;
int c;
void print(char x,char y){
	cout<<x<<"-->"<<y;
	if(c%5==0){
	cout<<endl;
    }else{
    	cout<<"   ";
	}
	c++;
}
void Hanoi(int n,char start,char temp,char end){
	if(n==1){
		print(start,end);
	}else{
		//以end作为辅助
		Hanoi(n-1,start,end,temp);
		//start只剩一个
		Hanoi(1,start,temp,end);
		//将satrt作为辅助
		Hanoi(n-1,temp,start,end); 
	}
}
int main() {
    int n;
    while(cin>>n){
    if(n==0) break;
     c=1;
     Hanoi(n,'A','B','C');
     cout<<endl;
	}
    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发