[BOJ] 11729 하노이 탑 이동 순서

https://www.acmicpc.net/problem/11729

문제 : 하노이의 탑 문제의 해결법을 출력하는 프로그램 작성. 첫째 줄에 원판을 옮긴 횟수를 출력, 둘째 줄 부터 원판을 이동하는 순서를 차례대로 출력한다. 재귀함수 사용.


#include <iostream>

using namespace std;

void hanoi(int n, int start, int end, int temp){
 if (n==1) {
  cout<<start<<' '<<end<<'\n';
  return;
 }
 hanoi(n-1,start,temp,end);
 cout<<start<<' '<<end<<'\n';
 hanoi(n-1,temp,end,start);

}
int main(){
 int n;
 cin.tie(NULL);
 cout.tie(NULL);
 ios_base::sync_with_stdio(false);

 cin>>n;
 cout<<(1<<n)-1<<'\n';

 hanoi(n,1,3,2);
}

No comments:

Powered by Blogger.