본문 바로가기

알고리즘/백준

하노이 탑 이동 순서

#include <iostream>
using namespace std;

void hanoi(int num, int a, int b, int c)
{
	if (num == 1) 
		cout << a << ' ' << c << '\n';
	else
	{
		hanoi(num - 1, a, c, b);
		cout << a << ' ' << c << '\n';
		hanoi(num - 1, b, a, c);
	}
}

int main()
{
	int i, j;
	int num;
	int N = 1;

	cin >> num;

	for (i = 0; i < num; i++) N = N * 2;
	N = N - 1;

	cout << N << '\n';
	hanoi(num, 1, 2, 3);
}

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

숫자의 합  (0) 2019.10.08
아스키 코드  (0) 2019.10.07
별 찍기 - 10  (0) 2019.10.04
팩토리얼  (0) 2019.10.03
한수  (0) 2019.09.29