코드 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <stdio.h> #define MAX 3 int arr[MAX+1]; void dfs(int depth) { int i; int j; if(depth == MAX + 1) { for(j = 1; j <= MAX; j++) printf("%d ", arr[j]); printf("\n"); return; } for(i = 0; i < 4; i++) { arr[depth] = i; dfs(depth + 1); } } int main() { dfs(1); return 0; } | cs |
결과 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 0 0 0 0 0 1 0 0 2 0 0 3 0 1 0 0 1 1 0 1 2 0 1 3 0 2 0 0 2 1 0 2 2 0 2 3 0 3 0 0 3 1 0 3 2 0 3 3 1 0 0 1 0 1 1 0 2 1 0 3 1 1 0 1 1 1 1 1 2 1 1 3 1 2 0 1 2 1 1 2 2 1 2 3 1 3 0 1 3 1 | cs |
'Programming > Algorithm' 카테고리의 다른 글
필승 전략 게임 (Sprague–Grundy theorem) (0) | 2018.06.05 |
---|---|
투 포인터 알고리즘 (0) | 2018.05.02 |
순열 및 조합 참고 링크 (0) | 2018.04.02 |
[자료구조] TRIE 예제 코드 (0) | 2017.12.06 |
원하는 개수의 순열 구하기 (0) | 2016.04.01 |