문제를 풀다보면 사고력이 많이 부족하단 걸 느낀다.
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
28
29
30
31
32
33
34
35
|
#include <iostream>
#include <vector>
void DFS(std::vector<int> val, int len, int cur, int sum, int result, int *count) {
if (cur == len) {
if (sum == result) {
*count += 1;
}
return;
}
DFS(val, len, cur + 1, sum + val[cur], result, count);
DFS(val, len, cur + 1, sum, result, count);
}
int main(void) {
int len, result;
std::cin >> len >> result;
std::vector<int> val(len);
for (int i = 0; i < len; i++) {
std::cin >> val[i];
}
int count = 0;
DFS(val, len, 0, 0, result, &count);
if (result == 0) {
count--;
}
std::cout << count << "\n";
return 0;
}
|
cs |
'problem solving' 카테고리의 다른 글
1525번: 퍼즐 (0) | 2020.02.22 |
---|---|
1208번: 부분수열의 합2 (0) | 2020.02.20 |
1168번: 요세푸스 문제2 (0) | 2020.02.19 |
1167번: 트리의 지름 (0) | 2020.02.19 |
1149번: RGB거리 (0) | 2020.02.19 |