๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ฐ๋์ด ์น์ฐจ(DFS) ๋ณธ๋ฌธ
๊ฐ๋ฐ/์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA
[JAVA/์ฝ๋ฉํ ์คํธ] ๋ฐ๋์ด ์น์ฐจ(DFS)
์์ผ์ด 2021. 11. 28. 18:25๋ฐ์ํ
์ค๋ช
์ฒ ์๋ ๊ทธ์ ๋ฐ๋์ด๋ค์ ๋ฐ๋ฆฌ๊ณ ์์ฅ์ ๊ฐ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ์ ํธ๋ญ์ Cํฌ๋ก๊ทธ๋จ ๋๊ฒ ํ์ธ์๊ฐ ์๋ค.
์ฒ ์๋ C๋ฅผ ๋์ง ์์ผ๋ฉด์ ๊ทธ์ ๋ฐ๋์ด๋ค์ ๊ฐ์ฅ ๋ฌด๊ฒ๊ฒ ํ์ฐ๊ณ ์ถ๋ค.
N๋ง๋ฆฌ์ ๋ฐ๋์ด์ ๊ฐ ๋ฐ๋์ด์ ๋ฌด๊ฒ W๊ฐ ์ฃผ์ด์ง๋ฉด, ์ฒ ์๊ฐ ํธ๋ญ์ ํ์ธ ์ ์๋ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ๋ฌด๊ฒ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ C(1<=C<=100,000,000)์ N(1<=N<=30)์ด ์ฃผ์ด์ง๋๋ค.
๋์งธ ์ค๋ถํฐ N๋ง๋ฆฌ ๋ฐ๋์ด์ ๋ฌด๊ฒ๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ๋ฌด๊ฒ๋ฅผ ์ถ๋ ฅํ๋ค.
์์์ ๋ ฅ
259 5
81
58
42
33
61
์์์ถ๋ ฅ
242
- 2022.01.28
import java.util.*;
public class Main {
static int[] array;
static int total;
static int answer = 0;
public void DFS(int Level, int sum) {
if(sum > total){
return;
}
if(sum > answer){
answer = sum;
}
if(Level == array.length) {
return;
}
DFS(Level+1,sum+array[Level]);
DFS(Level+1, sum);
}
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
total = in.nextInt();
int n=in.nextInt();
array = new int[n];
for(int i=0; i<n; i++) {
array[i] = in.nextInt();
}
T.DFS(0,0);
System.out.println(answer);
}
}
import java.util.*;
public class Main {
static int answer = Integer.MIN_VALUE, c, n;
public void DFS(int L, int sum, int[] arr){
if(sum>c){
return;
}
if(L==n){
answer = Math.max(answer, sum);
}else{
DFS(L+1, sum+arr[L], arr);
DFS(L+1, sum, arr);
}
}
public static void main(String[] args) {
Main main = new Main();
Scanner kb = new Scanner(System.in);
c = kb.nextInt();
n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++){
arr[i] = kb.nextInt();
}
main.DFS(0, 0, arr);
System.out.println(answer);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ๊ธธ์ด ์ฐ์๋ถ๋ถ์์ด (0) | 2022.01.13 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ์ ์ ๊ตฌํ๊ธฐ(DFS) (0) | 2021.11.30 |
[JAVA/์ฝ๋ฉํ ์คํธ] ํฉ์ด ๊ฐ์ ๋ถ๋ถ์งํฉ (0) | 2021.11.22 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์์ฃผํ์ง ๋ชปํ ์ ์ (0) | 2021.10.30 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๊ฐ์ฅ ์งง์ ๋ฌธ์๊ฑฐ๋ฆฌ (0) | 2021.10.04 |
Comments