문제 출처 : http://bitly.kr/b0EzMQ
/**************************************************************
Problem: 1161
User: hbrojun.kim
Language: C++
Result: Success
Time:11 ms
Memory:1740 kb
****************************************************************/
#include <iostream>
using namespace std;
//https://cafe.naver.com/cafec/156013
//하노이탑 함수(원반의 개수, 시작봉, 목적봉, 중심봉)
//{
// if (원반의 개수 == 1){
// 장애물 치우기(시작봉 -> 중심봉)
// }
// else{
// n-1원반을 시작봉->중심봉으로 이동을 예정한다.
// n 원반을 시작봉->목적봉 이동
// n-1 원반을 중심봉->목정봉으로 이동을 예정한다.
// }
//}
void hanoi(int n, int a, int b, int c){
if (n == 1){
printf("%d : %d -> %d\n", n, a, b);
}
else{
hanoi(n - 1, a, c, b);
printf("%d : %d -> %d\n", n, a, b);
hanoi(n - 1, c, b, a);
}
}
int main(){
//recursive 문제
int n;
scanf("%d", &n);
hanoi(n,1,3,2); //1,3,2
return 0;
}
'삼성전자 알고리즘 > 정올' 카테고리의 다른 글
7. 1169 : 주사위 던지기1[DFS] (0) | 2019.06.16 |
---|---|
5. 1078 : 저글링 방사능 오염 (0) | 2019.06.16 |
4. 1661 : 미로 탈출 로봇 (0) | 2019.06.16 |
3. 1240 : 제곱근 (0) | 2019.05.13 |
1. 1102 스택 (stack) (0) | 2019.05.09 |