일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 17451번
- 그래프
- Python
- 자바
- 백준 15787번
- 백준 16918번
- 백준 1331번
- ubuntu
- AWS
- java_programming
- 그리디
- 다이나믹 프로그래밍
- 백준 1987
- javascript
- 백준 18310번
- 머신러닝과 딥러닝
- 다이나믹프로그래밍
- 알고리즘
- 백준 3085번
- 백준 2512번
- 백준 1253번
- SQL
- 모각코
- HUFS 모각코 캠프
- 백준
- 명품자바
- react
- MySQL
- SWEA 15612번
- 깃헙
Archives
- Today
- Total
차곡차곡
[BOJ/Java] 백준 3040번 - 백설 공주와 일곱 난쟁이 본문
백준 #3040 백설 공주와 일곱 난쟁이
3040번: 백설 공주와 일곱 난쟁이
매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.
www.acmicpc.net
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int[] nums = new int[9];
static boolean[] isSelected = new boolean[9];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 9; i++) {
nums[i] = Integer.parseInt(br.readLine());
}
setSum(0, 0);
}
public static boolean setSum(int cnt, int sum) {
if (cnt == 7) {
if(sum == 100 ) {
for (int i = 0; i < 9; i++) {
if (isSelected[i]) {
System.out.println(nums[i]);
}
}
return true;
}
return false;
}
for (int i = 0; i < 9; i++) {
if (isSelected[i]) continue;
isSelected[i] = true;
if(setSum(cnt+1, sum+nums[i])) {
return true;
}
isSelected[i] = false;
}
return false;
}
}
원소가 7개이면서 합이 100이 되는 부분 집합을 구한다.
'CS > Algorithm' 카테고리의 다른 글
[SWEA/Java] SW Expert Academy 1218번 - 괄호 짝짓기 (0) | 2023.08.04 |
---|---|
[BOJ/Python, Java] 백준 2164번 - 카드2 (0) | 2023.08.04 |
[SWEA/Java] SW Expert Academy 2001번 - 파리 퇴치 (0) | 2023.08.03 |
[BOJ/Java] 백준 11659번 - 구간 합 구하기4 (0) | 2023.08.02 |
[BOJ/Python, Java] 백준 2503번 - 숫자 야구 (0) | 2023.08.02 |
Comments