문제출처
https://www.acmicpc.net/problem/6603
간단한 dfs문제이다. xcode에 에러가 있어서 무슨 문제인가 계속 살펴봤는데 그냥 xcode 문제....
dfs호출시 시작 index와 depth를 인자로 넘겨줘서 끝까지 탐색하는 방법이다.
소스코드
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | // // main.cpp // BOJ_6603 // // Created by sw on 31/12/2018. // Copyright © 2018 sw. All rights reserved. // #include <stdio.h> #include <iostream> #include <algorithm> using namespace std; const int MAX = 13; int k; int num[MAX]; int result[MAX]; void dfs(int start, int depth) { if(depth == 6) { for(int i=0; i<depth; i++) { printf("%d ", result[i]); } printf("\n"); return; } for(int i=start; i<k; i++) { result[depth]=num[i]; dfs(i+1, depth+1); } } int main(int argc, const char * argv[]) { while(true) { scanf("%d", &k); if(k==0){ printf("\n"); break; } for(int i=0; i<k; i++) { scanf("%d", &num[i]); } dfs(0,0); printf("\n"); } return 0; } | cs |
'Algorithm' 카테고리의 다른 글
[프로그래머스 42842] 카펫 (2) | 2019.01.02 |
---|---|
[프로그래머스 43162] 네트워크 (0) | 2019.01.01 |
[BOJ 2667] 단지번호붙이기 (0) | 2018.12.31 |
[Programmers 43165] 타겟넘버 (0) | 2018.12.31 |
[BOJ 2644] 촌수계산 (0) | 2018.12.31 |