CafeM0ca

[BOJ]11729 하노이의 탑 이동순서 본문

Programming/백준

[BOJ]11729 하노이의 탑 이동순서

M0ca 2018. 11. 27. 15:54
반응형

처음 하노이의 탑을 알게 되었을 때는 잘 몰랐다. 논리를 모르겠다는 말은 아니다. 구현을 모르겠다는 말이다.

recusion은 나에게 매우 어려운 존재로 인식되게끔 만든 문제가 하노이의 탑이다.

이제와서 완벽하게 코드를 이해하고 구현했는데(남의 코드보고 이해하는걸 싫어하는 타입) 어디가서 부끄러워서 말도 못겠다.


#include <cstdio>
using namespace std;
void move(int from, int to){
printf("%d %d\n",from,to);
}
void hanoi(int n, int from, int by, int to){
if (n == 1){
move(from, to);
}
else{
hanoi(n - 1, from, to, by);
move(from, to);
hanoi(n - 1, by, from, to);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
if (n >= 1 && n <= 20){
if (n == 1) puts("1");
else printf("%d\n", (1 << n) - 1);
hanoi(n, 1, 2, 3);
}
return 0;
}


반응형

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

[BOJ] 2156 포도주 시식  (0) 2019.12.23
[BOJ] 9020 골드바흐의 추측  (0) 2019.03.07
[BOJ] 1929번 소수 구하기  (0) 2018.09.02
[BOJ] 1012번 유기농배추  (0) 2018.07.12
[BOJ]1427번 소트인사이드  (0) 2018.04.29
Comments