[백준/C++] 11729 하노이 탑 이동 순서

2021. 4. 7. 17:48알고리즘/재귀

728x90
반응형

문제: www.acmicpc.net/problem/11729

 

11729번: 하노이 탑 이동 순서

세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로

www.acmicpc.net

 

 

문제풀이

 

대표적인 재귀 문제인 하노이탑

 

 

코드

#include <iostream>

using namespace std;

void func(int a, int b, int k){
    if(k==0) return;

    func(a, 6-a-b, k-1);
    cout<<a<<" "<<b<<"\n";
    func(6-a-b,b,k-1);
}

int main(){
    ios::sync_with_stdio(false); cin.tie(nullptr);
    
    int n;
    cin>>n;

    cout<<(1<<n)-1<<"\n";
    func(1,3,n);

    return 0;
}

 

 

결과

 

 

 

728x90
반응형

'알고리즘 > 재귀' 카테고리의 다른 글

[백준/C++] 2448번 별 찍기 - 11  (0) 2021.04.28
[백준/C++] 17478번 재귀함수가 뭔가요?  (0) 2021.04.27
[백준/C++] 2447번 별 찍기 - 10  (0) 2021.04.27
[백준/C++] 1074번 Z  (0) 2021.04.09
[백준/C++] 1629번 곱셈  (0) 2021.04.06