프로그래밍 알고리즘

[정올 1175] 주사위던지기2

꾸준한사람 2022. 12. 31. 03:25
반응형

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=1175&sca=99 

 

JUNGOL

 

www.jungol.co.kr

#include <stdio.h>

//cb[9]: 주사위 눈을 저장하는 배열
//sum: N번 시행한 눈의 합
int N, M, cb[9], sum; 

void fill(int idx) { //idx번째 주사위를 던지는 함수
	if (idx >= N) { //N번을 다 던진 경우에
		if (sum == M) { //N번 던진 눈의 합의 M인 경우에만 출력
			for (int i = 0; i < N; i++)		printf("%d ", cb[i]);
			printf("\n");
		}
		return; //N번을 다 던지면 재귀 탈출
	}

	for (int i = 1; i <= 6; i++) { //주사위의 눈[1,6] 만큼 경우의 수를 따짐
		sum -= cb[idx];
		cb[idx] = i;
		sum += i;
		fill(idx + 1); //재귀, 그 다음 횟수로 주사위를 던지는 동작
	}
}

int main()
{
	scanf("%d %d", &N, &M);
	fill(0);
	return 0;
}
반응형

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

[정올 1214] 히스토그램  (1) 2022.12.31
[정올 1183] 동전자판기(하)  (0) 2022.12.31
[정올 1169] 주사위던지기1  (0) 2022.12.31
[정올 1161] 하노이1  (0) 2022.12.31
[정올 1158] 삽입정렬  (0) 2022.12.31