공부기록/백준

[백준] 1182번 부분수열의 합

메델 2023. 12. 19. 06:25
import java.util.Scanner;

public class Main {
	
	static int N, S;
	static int[] arr;
	static int answer;

	static void rec_func(int k, int value) {
		if(k == N+1) {
			if(S == value) answer++;
		}else{
			// 포함 o
			rec_func(k+1, value+arr[k]);
			
			//포함 x
			rec_func(k+1, value);
		}
	}
	

	public static void main(String[] args) {
		
		Scanner kb = new Scanner(System.in);
		
		N = kb.nextInt();
		S = kb.nextInt();
		
		arr = new int[N+1];
		
		for(int i=1; i<=N; i++) {
			arr[i] = kb.nextInt();
		}
		
		answer = 0;
		
		rec_func(1, 0);
		
		if(S == 0) {
			answer--;
		}

		
		System.out.println(answer);
			
		
	}
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 1806번 부분합  (0) 2023.12.20
[백준] 1759번 암호 만들기  (0) 2023.12.19
[백준] 2161번 카드1  (0) 2023.12.19
[백준] 10813번 공 바꾸기  (1) 2023.12.19
[백준] 2798번 블랙잭  (1) 2023.12.19