프로그래밍 알고리즘

[정올 1161] 하노이1

꾸준한사람 2022. 12. 31. 02:09
반응형

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=441&sca=99&sfl=wr_hit&stx=1161 

 

JUNGOL

 

www.jungol.co.kr

#include <stdio.h>

void hanoi(int n, int a, int b, int c) { //원반의 개수, 시작봉, 목적봉, 중심봉
    if (n == 1) { //원반의 개수가 1이면, 장애물 치우기(시작봉 -> 목적봉)
        printf("%d : %d -> %d\n", n, a, b);
    }
    else {
        hanoi(n - 1, a, c, b); //n-1원반을 시작봉 -> 중심봉 으로 이동한다.
        printf("%d : %d -> %d\n", n, a, b); //n원반을 시작봉 -> 목적봉 으로 이동
        hanoi(n - 1, c, b, a); //n-1원반을 중심봉 -> 목적봉 으로 이동한다.
    }
}

int main(void)
{
	int n;
	scanf("%d", &n);
	hanoi(n, 1, 3, 2); //1,3,2

	return 0;
}
반응형

'프로그래밍 알고리즘' 카테고리의 다른 글

[정올 1175] 주사위던지기2  (0) 2022.12.31
[정올 1169] 주사위던지기1  (0) 2022.12.31
[정올 1158] 삽입정렬  (0) 2022.12.31
[정올 1157] 버블정렬  (0) 2022.12.30
[정올 1146] 선택정렬  (0) 2022.12.29