반응형
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=449&sca=99&sfl=wr_hit&stx=1169
#include <stdio.h>
int N, M, mt[6*6*6*6*6 + 10][5], cnt, comb[5];
inline int getBgIdx(int idx) {
if (M == 2) {
if (idx == 0) return 1;
else return comb[idx - 1];
}
return 1;
}
int check(int idx) {
if (M == 3) {
if (idx == 0) return 1;
for (int i = 0; i < idx; i++)
if (comb[i] == comb[idx]) return false;
}
return true;
}
void fill(int idx) {
if (idx == N) {
for (int i = 0; i < N; i++) mt[cnt][i] = comb[i];
cnt++;
return;
}
for (int i = getBgIdx(idx); i <= 6; i++) {
comb[idx] = i;
if (check(idx)) fill(idx + 1);
}
}
int main(void) {
scanf("%d %d", &N, &M);
fill(0);
for (int i = 0; i < cnt; i++) {
for (int j = 0; j < N; j++) printf("%d ", mt[i][j]);
printf("\n");
}
return 0;
}
반응형
'프로그래밍 알고리즘' 카테고리의 다른 글
[정올 1183] 동전자판기(하) (0) | 2022.12.31 |
---|---|
[정올 1175] 주사위던지기2 (0) | 2022.12.31 |
[정올 1161] 하노이1 (0) | 2022.12.31 |
[정올 1158] 삽입정렬 (0) | 2022.12.31 |
[정올 1157] 버블정렬 (0) | 2022.12.30 |