-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path15654.js
37 lines (33 loc) · 798 Bytes
/
15654.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var readline = require("readline");
var r = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
r.on("line", function (line) {
input.push(line);
}).on("close", function () {
main(input);
process.exit();
});
function main(input) {
let [N, M] = input[0].split(" ").map(Number);
const nums = input[1]
.split(" ")
.map(Number)
.sort((a, b) => a - b);
console.log(returnFunc(M).join("\n"));
function returnFunc(n, ignore = {}) {
const output = [];
nums.forEach((v) => {
if (ignore[v]) return;
if (n === 1) output.push(v);
else {
ignore[v] = true;
output.push(...returnFunc(n - 1, ignore).map((val) => `${v} ${val}`));
ignore[v] = false;
}
});
return output;
}
}