[Baekjoon] 15652 - ๐Ÿ˜N๊ณผ M (4)

Chobbyยท2023๋…„ 11์›” 27์ผ
1

Baekjoon

๋ชฉ๋ก ๋ณด๊ธฐ
105/108

๐Ÿ˜€๋ฌธ์ œ

์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ธธ์ด๊ฐ€ M์ธ ์ˆ˜์—ด์„ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ M๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ˆ˜์—ด
๊ฐ™์€ ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ณจ๋ผ๋„ ๋œ๋‹ค.
๊ณ ๋ฅธ ์ˆ˜์—ด์€ ๋น„๋‚ด๋ฆผ์ฐจ์ˆœ์ด์–ด์•ผ ํ•œ๋‹ค.
๊ธธ์ด๊ฐ€ K์ธ ์ˆ˜์—ด A๊ฐ€ A1 โ‰ค A2 โ‰ค ... โ‰ค AK-1 โ‰ค AK๋ฅผ ๋งŒ์กฑํ•˜๋ฉด, ๋น„๋‚ด๋ฆผ์ฐจ์ˆœ์ด๋ผ๊ณ  ํ•œ๋‹ค.


๐Ÿ˜์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค M โ‰ค N โ‰ค 8)


๐Ÿ˜‚์ถœ๋ ฅ

ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.


๐Ÿคฃ์˜ˆ์ œ

์˜ˆ์ œ ์ž…๋ ฅ 1 
3 1
์˜ˆ์ œ ์ถœ๋ ฅ 1 
1
2
3
์˜ˆ์ œ ์ž…๋ ฅ 2 
4 2
์˜ˆ์ œ ์ถœ๋ ฅ 2 
1 1
1 2
1 3
1 4
2 2
2 3
2 4
3 3
3 4
4 4
์˜ˆ์ œ ์ž…๋ ฅ 3 
3 3
์˜ˆ์ œ ์ถœ๋ ฅ 3 
1 1 1
1 1 2
1 1 3
1 2 2
1 2 3
1 3 3
2 2 2
2 2 3
2 3 3
3 3 3

๐Ÿ˜ƒ์ถœ์ฒ˜

  • ๋ฌธ์ œ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ: baekjoon

๐Ÿ˜„์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜

  • ๋ฐฑํŠธ๋ž˜ํ‚น

๐Ÿ˜Ž๋‚˜์˜ํ’€์ด

function dfs(N, M, arr) {
    if(arr.length === M) return arr.join(" ")
    const results = []
    for(let i = 1 ; i <= N ; i++) {
        if(i < arr.at(-1)) continue
        const res = dfs(N, M, [...arr, i])
        results.push(res)
    }
    return results.join("\n")
}

const [N, M] = require('fs').readFileSync('/dev/stdin').toString().trim().split(" ").map(Number)
const result = dfs(N, M, [])

console.log(result)
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€