반응형
출처: https://www.acmicpc.net/problem/1182
Input
5 0
-7 -3 -2 5 8
Output
1
N이 크지 않은 숫자이므로 부분 수열의 크기를 줄여가며
모든 부분 수열의 합을 구한 후, S와 같은지 확인합니다.
#include <iostream>
using namespace std;
int N, S, result;
int arr[20];
void solve(int idx, int sum){
sum += arr[idx];
if (idx >= N) return;
if (sum == S) result++;
solve(idx + 1, sum);
solve(idx + 1, sum - arr[idx]);
}
int main(void) {
cin >> N >> S;
for(int i=0; i<N; i++){
cin >> arr[i];
}
solve(0, 0);
cout << result << endl;
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2798 블랙잭 (0) | 2021.02.28 |
---|---|
[BOJ] 백준 15596 정수 N개의 합 (0) | 2021.02.28 |
[BOJ] 백준 1952 달팽이2 (0) | 2021.02.28 |
[BOJ] 백준 11559 Puyo Puyo (0) | 2021.02.28 |
[BOJ] 백준 5532 방학 숙제 (0) | 2021.02.28 |
댓글