|
์ฝ๋ ์์ฑํ๊ธฐ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
/* ์์ฐ์ N๊ณผ M์ด ์ฃผ์ด์ก์ ๋, ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ๊ตฌํ๋ผ
*/
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
/**
* N = ์ซ์ ๋ช๊น์ง ์ถ๋ ฅํ ์ง
* M = ์ซ์๋ฅผ ๋ช ๊ฐ ์ถ๋ ฅํ ์ง .
*/
static int N, M;
static ArrayList<String> answer = new ArrayList<>();
static boolean visit[];
static void input() throws IOException {
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
visit = new boolean[N + 1];
}
static void dfs(int depth, String str) {
if (depth == M) {
answer.add(str.trim());
return;
}
for (int i = 1; i <= N; i++) {
if (!visit[i]) {
visit[i] = true;
dfs(depth + 1, str + i + " ");
visit[i] = false;
}
}
}
public static void main(String[] args) throws IOException {
input();
dfs(0, "");
for (String s :answer) {
System.out.println(s);
}
}
}
Java
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
ํ๋ก๊ทธ๋๋จธ์ค 42839๋ฒ ์์ ํ์ ์์์ฐพ๊ธฐ ๋ฌธ์ ์ ์ ์ฌํจ.
dfs๋ฅผ ์ฌ์ฉํ์ฌ ํ ๊ธ์์ฉ ์ถ๊ฐํ๊ณ , ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ๊ฝ ์ฐจ๊ฒ ๋๋ฉด ๋ฆฌ์คํธ์ ์ ์ฅ. ๊ทธ๋ฆฌ๊ณ return.