완전탐색해주면 된다!
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 | #include <iostream> using namespace std; int n, s, res; int a[20]; void dfs(int idx, int sum) { if (sum + a[idx] == s) res++; if (idx == n - 1)return; dfs(idx + 1, sum); dfs(idx + 1, sum + a[idx]); } int main(){ cin >> n >> s; for (int i = 0; i < n; i++) { cin >> a[i]; } dfs(0, 0); cout << res << endl; } | cs |
'BOJ::문제풀이' 카테고리의 다른 글
15686 드래곤 커브 (0) | 2018.04.16 |
---|---|
15686 치킨 배달 (3) | 2018.04.16 |
9019 DSLR (0) | 2018.04.13 |
1018 체스판 다시 칠하기 (0) | 2018.04.12 |
1520 내리막 길 (0) | 2018.04.08 |