Problem Solving/BOJ
[BOJ] 1182 : 부분집합의 합
shyram
2018. 12. 29. 23:50
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 | #include <bits/stdc++.h> using namespace std; int arr[20]; int ans = 0; int n, s; void solve(int index, int sum) { //cout << sum << '\n'; if (sum == s) ans++; if (index == n) return; for (int i = index; i < n; i++) { sum += arr[i]; solve(i + 1, sum); sum -= arr[i]; } } int main(void) { ios::sync_with_stdio(0); cin.tie(NULL); cin >> n >> s; for (int i = 0; i < n; i++) cin >> arr[i]; solve(0, 0); if (s == 0) ans--; cout << ans; } | cs |