문제
https://www.acmicpc.net/problem/15654
풀이
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
let [N, M] = input
.shift()
.split(" ")
.map((n) => Number(n));
let num_arr = input[0].split(" ").map((n) => Number(n));
// 정렬
num_arr.sort((a, b) => a - b);
let dfs = (arr, picked) => {
if (arr.length === M) {
console.log(arr.join(" "));
return;
}
for (let i = 0; i < num_arr.length; ++i) {
if (!picked.includes(i)) {
arr.push(num_arr[i]);
picked.push(i);
dfs(arr, picked);
picked.pop();
arr.pop();
}
}
};
for (let i = 0; i < num_arr.length; ++i) {
dfs([num_arr[i]], [i]);
}
'🔒Algorithm' 카테고리의 다른 글
백준[node.js] > 17129번 비밀번호 찾기 (0) | 2024.12.09 |
---|---|
백준[node.js] > 12865번 평범한 배낭 (0) | 2024.12.08 |
백준[node.js] > 15652번 N과 M (4) (0) | 2024.12.05 |
백준[node.js] > 9251번 LCS (0) | 2024.12.04 |
백준[node.js] > 16953번 A->B (0) | 2024.11.24 |