N

(SWEA c++)2817. 부분 수열의 합 본문

SW Expert Academy

(SWEA c++)2817. 부분 수열의 합

naeunchan 2020. 10. 21. 22:01
728x90
반응형

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7IzvG6EksDFAXB&categoryId=AV7IzvG6EksDFAXB&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

DFS 연습 문제~

#include <iostream>

using namespace std;

int N = 0;
int K = 0;
int ans = 0;
int arr[20];

void dfs(int start, int current)
{
    if(current == K)
    {
        ans++;
        return;
    }
    
    for(int i = start + 1; i < N; i++)
    {
        if(current + arr[i] <= K)
            dfs(i, current + arr[i]);
    }
}

int main(void)
{
    int t;
    cin >> t;
    
    for(int tc = 1; tc <= t; tc++)
    {
        cin >> N >> K;
        
        ans = 0;
        for(int i = 0; i < N; i++)
            cin >> arr[i];
        
        for(int i = 0; i < N; i++)
        	dfs(i, arr[i]);
        
        cout << "#" << tc << " " << ans << endl;
    }
    return 0;
}
728x90
반응형

'SW Expert Academy' 카테고리의 다른 글

(SWEA c++)2930. 힙  (0) 2020.10.22
(SWEA c++)2948. 문자열 교집합  (0) 2020.10.21
(SWEA c++)2814. 최장경로  (0) 2020.10.21
(SWEA c++)2805. 농작물 수확하기  (0) 2020.10.21
(SWEA c++)2806. N-Queen  (0) 2020.10.20