알고리즘/BOJ

백준 11729번 하노이 탑 이동 순서

꾸준함. 2019. 1. 18. 02:13

문제 링크입니다: https://www.acmicpc.net/problem/11729


백준 1914번 하노이 탑(http://jaimemin.tistory.com/732)의 쉬운 버전이었습니다.


#include <iostream>

#include <vector>

using namespace std;

 

int N;

vector<pair<int, int>> v;

 

void Hanoi(int num, int from, int by, int to)

{

        if (num == 1)

                 v.push_back({ from, to });

        else

        {

                 Hanoi(num - 1, from, to, by);

                 v.push_back({ from, to });

                 Hanoi(num - 1, by, from, to);

        }

}

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        cin >> N;

 

        Hanoi(N, 1, 2, 3);

        cout << v.size() << "\n";

        for (int i = 0; i < v.size(); i++)

                 cout << v[i].first << " " << v[i].second << "\n";

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

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

백준 10827번 a^b  (0) 2019.01.18
백준 1780번 종이의 개수  (0) 2019.01.18
백준 16528번 Highway Decommission  (0) 2019.01.18
백준 1992번 쿼드트리  (4) 2019.01.18
백준 15683번 감시  (2) 2019.01.17