티스토리 뷰
백트래킹으로 완탐을 이용하는 기본문제!
6개의 숫자가 다 모이면 출력해주자~!
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> #include <vector> using namespace std; int arr[50],k,n; void go(vector<int>& vt,int pos) { if (vt.size() == 6) { for (int i = 0; i < 6; i++) printf("%d ", vt[i]); puts(""); return; } if (pos > n) return; vt.push_back(arr[pos]); go(vt, pos + 1); vt.pop_back(); go(vt, pos + 1); } int main() { while (scanf(" %d", &n)) { if (n == 0) return 0; for (int i = 1; i <= n; i++) scanf(" %d", &arr[i]); vector<int> vt; go(vt, 1); puts(""); } } | cs |
'알고리즘 > BOJ' 카테고리의 다른 글
[백준] 11963 High Card Low Card (Gold) (0) | 2018.07.06 |
---|---|
[백준] 15686 치킨 배달 (2) | 2018.07.05 |
[백준] 13701 중복 제거 (1) | 2018.07.05 |
[백준] 11723 집합 (2) | 2018.07.05 |
[백준] 9328 열쇠 (0) | 2018.07.04 |
댓글