728x90
하노이탑 문제는 백준 알고리즘 문제로 구현한 적이 있으므로 간략하게 쓰겠다.
그 링크는
하노이 탑의 조건은 다음과 같다.
- 한 번에 하나의 원판 이동
- 맨 위의 원판만 이동 가능
- 크기가 작은 원판 위에 큰 원판이 쌓일 수 없음.
- 중간의 막대를 임시로 사용할 수 있지만 위의 조건을 지켜야 함.
int hanoi(int n, char from, char tmp, char to) {
if (n == 0) return;
else if (n == 1)
printf("%c에서 %c로 원판 1 이동", from, to);
else {
hanoi(n-1, from, to, tmp);
printf("%c에서 %c로 원판 %d 이동", from, tmp, n-1);
hanoi(n-1, tmp, from, to);
}
}
728x90
'CS > 자료구조' 카테고리의 다른 글
[자료구조] Tree(트리) - 이진 트리의 순회 (0) | 2023.01.05 |
---|---|
[자료구조] Tree(트리) - 이진 트리 (0) | 2023.01.05 |
[자료구조] 피보나치 수열 (0) | 2023.01.05 |
[자료구조] 거듭제곱값 계산 (0) | 2023.01.05 |
[자료구조] 팩토리얼 계산 (0) | 2023.01.05 |