728x90
반응형
[백준 1182] 부분집합의 합
문제 링크 : https://www.acmicpc.net/problem/1182
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 36 37 38 39 40 41 42 43 44 | import java.util.Scanner; public class 백준1182 { static int cnt = 0; public static void subset(int[] set, int size, int n, int[] arr, int index, int s) { if(n == index) { int sum = 0; for (int i = 0; i < size; i++) { sum += set[i]; } if(size != 0) { if(sum == s) { cnt++; } } return; } set[size] = arr[index]; subset(set, size+1, n, arr, index+1, s); subset(set, size, n, arr, index+1, s); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int S = sc.nextInt(); int[] arr = new int[N+1]; int[] set = new int[21]; for (int i = 0; i < N; i++) { arr[i] = sc.nextInt(); } subset(set, 0, N, arr, 0, S); System.out.println(cnt); } } | cs |
728x90
반응형
'Algorithm > 백준(BOJ)' 카테고리의 다른 글
[백준 8979] 올림픽 (0) | 2019.01.20 |
---|---|
[백준 10819] 차이를 최대로 (0) | 2019.01.20 |
[백준 1260] DFS와 BFS - 인접 리스트 이용 (0) | 2019.01.11 |
[백준 1018] 체스판 다시 칠하기 (2) | 2019.01.10 |
[백준 2805] 나무 자르기 (0) | 2018.06.09 |