[문제]
https://www.acmicpc.net/problem/1182
[풀이]
백트래킹 문제이다.
[코드]
#include <iostream>
using namespace std;
int n,s;
int arr[30];
int cnt;
void func(int cur, int tot){
if(cur == n)
{
if(tot == s) cnt++;
return;
}
func(cur+1, tot);
func(cur+1, tot+arr[cur]);
}
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> s;
for(int i=0; i<n; i++)
cin >> arr[i];
func(0,0);
if(s==0) cnt--;
cout << cnt;
}
'✏️ Algorithm > 알고리즘 풀이' 카테고리의 다른 글
백준 15650 - N과 M (2) - C++ (0) | 2022.01.13 |
---|---|
백준 9663번 N-Queen / C++ (0) | 2022.01.09 |
백준 15649번 - N과 M(1) - C++ (0) | 2022.01.08 |
백준 2447번 - 별 찍기 - 10 (C++) (0) | 2022.01.02 |
1992번 - 쿼드트리 (C++) (0) | 2021.12.30 |