반응형
https://www.acmicpc.net/problem/1182
모든 부분수열의 합이 s와 일치할 때 ans을 1씩 증가시켜줬습니다.
#include <iostream>
#include <algorithm>
#define INF 987654321
using namespace std;
int n, s, a[20], ans = 0;
void f(int idx, int sum, int c) {
if (c == n) return;
for (int i = idx; i < n; i++) {
int ns = sum + a[i];
if (s == ns) ans++;
f(i + 1, ns, c + 1);
}
}
int main() {
scanf("%d %d", &n, &s);
for (int i = 0; i < n; i++) scanf("%d", &a[i]);
f(0, 0, 0);
printf("%d", ans);
}
반응형
'Algorithm' 카테고리의 다른 글
백준 11723 : 집합 (0) | 2021.11.11 |
---|---|
백준 15658 : 연산자 끼워넣기 (2) (0) | 2021.11.11 |
백준 10971 : 외판원 순회 2 (0) | 2021.11.11 |
백준 10819 : 차이를 최대로 (0) | 2021.11.11 |
백준 10974 : 모든 순열 (0) | 2021.11.11 |