티스토리 뷰

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

 

11729번: 하노이 탑 이동 순서

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

www.acmicpc.net

 

const input = +require('fs').readFileSync('./dev/stdin').toString().trim();

const answer = [];
function hanoi(a, b, n) {
        if (n == 1) {
                answer.push([a, b]);
                return;
        }
        hanoi(a, 6 - a - b, n - 1); // n-1 ~1번 까지의 원판  1->2 로 옮기고..
        answer.push([a, b]); // n번째 원판을 1 -> 3으로 옮기고
        hanoi(6 - a - b, b, n - 1); //  n-1 ~ 1 번까지의 원판을 2->3으로 옮기고..
}

hanoi(1, 3, input);
console.log((1 << input) - 1);
console.log(answer.map((v) => v.join(' ')).join('\n'));
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함