26 lines
765 B
TypeScript
26 lines
765 B
TypeScript
export {};
|
|
|
|
function dfs(n:number, m:number, nums:number[], visited:boolean[], result:number[]){
|
|
if(result.length === m) {
|
|
console.log(...result);
|
|
return;
|
|
}
|
|
|
|
for(let next=0; next<n; next++){
|
|
if(!visited[next]) {
|
|
visited[next] = true;
|
|
result.push(nums[next]);
|
|
dfs(n, m, nums, visited, result);
|
|
result.pop()
|
|
visited[next] = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
const input: string[] = require("fs").readFileSync(0, "utf8").toString().trim().split('\n');
|
|
const [N,M]: number[] = input[0].split(' ').map(Number);
|
|
const nums: number[] = input[1].split(' ').map(Number);
|
|
let visited:boolean[] = Array.from({length: N}, () => false);
|
|
nums.sort((a,b)=>a-b);
|
|
dfs(N, M, nums, visited, []);
|