DOTY

2) 백준 11729 - 하노이 탑 이동 순서 본문

Algorithm/Recursion

2) 백준 11729 - 하노이 탑 이동 순서

증식세포 2023. 2. 17. 17:18
728x90
반응형

11729번: 하노이 탑 이동 순서 (acmicpc.net)

 

11729번: 하노이 탑 이동 순서

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

www.acmicpc.net


이렇게 풀면 될거 같은데.. 하다가 풀린 문제

대충 어떤 느낌인지는 알겠는데 확실히 설명하라고 하면 음....ㅜㅜㅜㅜ

#include <bits/stdc++.h>

using namespace std;

void hanoi(int n, int from, int sub, int to) {
	if(n == 1) {
		cout << from << " " << to << '\n';
	}
	else {
		hanoi(n-1, from, to, sub);
		cout << from << " " << to << '\n';
		hanoi(n-1, sub, from, to);
	}
} 

int main(void) {
	
	int N;
	cin >> N;
	
	int answer = pow(2, N);
	cout << answer -1 << '\n';
	
	hanoi(N, 1, 2, 3);
	
}

※ 시간초과가 뜨는 경우 endl 대신 '\n'를 사용해보자!

※ pow를 사용하고 나면 정수화 시켜줘야하기 때문에 그냥 바로 출력하면 오답이 나온다. 조심!

728x90
반응형

'Algorithm > Recursion' 카테고리의 다른 글

6) 백준 1629 - 곱셈  (0) 2023.02.20
5) 백준 1780 - 종이의 개수  (0) 2023.02.19
4) 백준 1992 - 쿼드트리  (0) 2023.02.19
3) 백준 2630 - 색종이 만들기  (0) 2023.02.18
1) 백준 10872 - 팩토리얼  (0) 2023.02.09
Comments