[백준] 11729번

Jeanine·2022년 3월 24일
0

baekjoon

목록 보기
36/120
post-thumbnail

💻 C++ 기반

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

✔️ N-1개의 원판을 기둥 1에서 기둥 2로 옮긴다.
✔️ N번 원판을 기둥 1에서 기둥 3으로 옮긴다.
✔️ N-1개의 원판을 기둥 2에서 기둥 3으로 옮긴다.

#include <cstdio>
#include <cmath>

using namespace std;

void recur(int startIdx, int finishIdx, int cnt)
{
    if (cnt == 1)
    {
        printf("%d %d\n", startIdx, finishIdx);
        return;
    }
    recur(startIdx, 6-startIdx-finishIdx, cnt-1);
    printf("%d %d\n", startIdx, finishIdx);
    recur(6-startIdx-finishIdx, finishIdx, cnt-1);
}

int main()
{
    int K;
    scanf("%d", &K);
    printf("%d\n", int(pow(2, K))-1);
    recur(1, 3, K);
    return 0;
}
profile
Grow up everyday

0개의 댓글