문제 링크입니다: 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 |