| ||
| using namespace std; | ||
| int arr[20]; | ||
| int cnt; | ||
| int N, S; | ||
| void match(int idx, int sum){ | ||
| if(idx==N){ | ||
| cnt = sum==S ? cnt+1 : cnt; | ||
| return; | ||
| } | ||
| for(int i=0; i<2; i++){ | ||
| match(idx+1,sum = i==true? sum+arr[idx] : sum); | ||
| } | ||
| } | ||
| int main(){ | ||
| cin >> N >> S; | ||
| for(int i=0; i<N; i++){ | ||
| cin >> arr[i]; | ||
| } | ||
| match(0, 0); | ||
| if(S==0) cnt--; | ||
| cout << cnt; | ||
| } |
'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글
| 180330_2750_수 정렬하기 (0) | 2018.03.30 |
|---|---|
| 180327_10869_사칙연산 (0) | 2018.03.27 |
| 180302_2501_약수 구하기 (0) | 2018.03.02 |
| 180302_9506_약수들의 합 (0) | 2018.03.02 |
| 180302_2600_구슬게임 (0) | 2018.03.02 |