728x90
반응형
https://www.acmicpc.net/problem/2003
2003번: 수들의 합 2
첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
int n, m;
int arr[10001];
int result = 0;
void solve(int index, int tot){ // 시작 인덱스, 원소 합
if(index>n) return;
if(tot == m){
result++;
return;
}
solve(index+1, tot+arr[index+1]);
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for(int i=0; i<n; i++){
cin >> arr[i];
}
for(int i=0; i<n; i++){
solve(i, arr[i]);
}
cout << result;
return 0;
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[이코테/그리디/C++] 1이 될 때까지 (0) | 2023.01.11 |
---|---|
[이코테/그리디/C++] 거스름 돈 (0) | 2023.01.11 |
[백준/BFS/C++] 5014번 스타트링크 (0) | 2023.01.11 |
[백준/BFS/C++] 1697번 숨바꼭질 * (0) | 2023.01.10 |
[백준/백트래킹/C++] 10971번 외판원 순회2 * (0) | 2023.01.10 |