๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ์์ด๊ตฌํ๊ธฐ ๋ณธ๋ฌธ
๊ฐ๋ฐ/์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA
[JAVA/์ฝ๋ฉํ ์คํธ] ์์ด๊ตฌํ๊ธฐ
์์ผ์ด 2022. 2. 8. 17:38๋ฐ์ํ
์ค๋ช
10 ์ดํ์ N๊ฐ์ ์์ฐ์๊ฐ ์ฃผ์ด์ง๋ฉด ์ด ์ค M๊ฐ๋ฅผ ๋ฝ์ ์ผ๋ ฌ๋ก ๋์ดํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ถ๋ ฅํฉ๋๋ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N(3<=N<=10)๊ณผ M(2<=M<=N)์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ฃผ์ด์ง๋๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์ถ๋ ฅ์์๋ ์ฌ์ ์์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํฉ๋๋ค.
์์ ์ ๋ ฅ1
3 2
3 6 9
์์ ์ถ๋ ฅ 1
3 6
3 9
6 3
6 9
9 3
9 6
- ๋ด๊ฐ ํผ ํ์ด
import java.util.*;
public class Main {
static int[] pm, ch, array;
static int n,m;
public void DFS(int Level) {
if(Level == m){
for(int i=0; i<pm.length; i++){
System.out.print(pm[i] + " ");
}
System.out.println();
return;
}
for(int i=0; i<array.length; i++){
if(ch[i] == 0){
ch[i] = 1;
pm[Level] = array[i];
DFS(Level+1);
ch[i] = 0;
}
}
}
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
n = in.nextInt();
m = in.nextInt();
array = new int[n];
for(int i=0; i<n; i++){
array[i] = in.nextInt();
}
ch = new int[n];
pm = new int[m];
T.DFS(0);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] ์จ๋ฆ ์ ์(Greedy Algorithm) (0) | 2022.02.12 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ์กฐํฉ์ ๊ฒฝ์ฐ์(๋ฉ๋ชจ์ด์ ์ด์ ) (0) | 2022.02.10 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๋์ ๊ตํ (0) | 2022.01.30 |
[JAVA/์ฝ๋ฉํ ์คํธ] Least Recently Used (0) | 2022.01.18 |
[JAVA/์ฝ๋ฉํ ์คํธ] ์๊ธ์ค (0) | 2022.01.17 |
Comments