[백준] 11729번
💻 C++ 기반
✔️ 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;
}
Author And Source
이 문제에 관하여([백준] 11729번), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jieun_han/백준-11729번저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)