BOJ_S3_15649
๐ [S3_15649] N๊ณผM(1)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static StringTokenizer st;
static int N, M;
static boolean[] v;
static StringBuilder sb;
static int[] arr;
public static void main(String[] args) throws IOException {
sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
st = new StringTokenizer(br.readLine(), " ");
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
arr = new int[M];
v= new boolean[N+1];
perm(0);
System.out.println(sb);
}
// ์์ด
static void perm(int ind) {
// ๊ธฐ์ ์กฐ๊ฑด
if(ind == M) {
for(int i=0; i<M;i++) {
sb.append(arr[i]).append(" ");
}
sb.append("\n");
return;
}
for(int i=1;i<N+1;i++) {
if(v[i]) {
continue;
}
else {
v[i] = true;
arr[ind] = i;
perm(ind+1);
v[i] = false;
}
}
}
}
๐ค ๋์ ์๊ฐ
์ด ๋ฌธ์ ๋ ์์๊ฐ ์๊ด์๋ ๋ฐฐ์ด์ ๊ตฌํ๋ ๊ฒ์ด๋ค. nPm ์ด๋ค.
์์ด์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๊ทธ๋์ int ๋ฐฐ์ด๊ณผ boolean ๋ฐฐ์ด์ ์ด์ฉํด ์ฌ๊ท๋ฅผ ์ฌ์ฉํด ๊ตฌํด์ฃผ์๋ค.
์์ด์ ๋ํ ์ค๋ช
์ ์ฌ๊ธฐ์ ์๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ ์ด๋ค.