-
백준 11729번 하노이 탑 이동순서PS 2021. 4. 2. 04:34
<접근방법>
분할하기
<코드>
#include <iostream> #include <algorithm> #include <vector> using namespace std; int n; int res; vector<pair<int, int>> v; void move(int dep, int from, int to) { if (dep == 1) { res++; v.push_back(make_pair(from, to)); return; } int tmp; for (int i = 1; i < 4; i++) { if (i != from && i != to) { tmp = i; } } move(dep-1, from, tmp); move(1, from, to); move(dep-1, tmp, to); } int main() { cin >> n; move(n, 1, 3); cout << res << '\n'; for (int i = 0; i < v.size(); i++) { cout << v[i].first << ' ' << v[i].second << '\n'; } return 0; }
'PS' 카테고리의 다른 글
백준 1629 곱셈 (0) 2021.04.06 백준 1992번 쿼드트리 (0) 2021.04.04 백준 1074 Z (0) 2021.04.02 백준 1175번 배달 (0) 2021.03.29 백준 9328번 열쇠 (0) 2021.03.29