[ 2023-02-26 ๐Ÿ‘ทโ€โ™€๏ธ TIL ]

Burkeyยท2023๋…„ 2์›” 26์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
43/157

๋ฐฑ์ค€ 15649๋ฒˆ

๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์— n๊ณผ m์—์„œ 1~n๊นŒ์ง€์˜ m๊ฐœ์˜ ์ˆ˜์—ด์„ ์ค‘๋ณต์—†์ด ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

import sys

input = sys.stdin.readline

n, m = map(int, input().split())
li = []

def back():
    global n, m, li

    if len(li) == m:
        print(' '.join(map(str, li)))
        return

    for i in range(1, n+1):
        if i not in li: # ๊ฐ€์ง€์น˜๊ธฐ
            li.append(i)
            back()
            li.pop()

back()

์œ„์— ๋ฌธ์ œ๋Š” ๋ฐฑํฌ๋ž˜ํ‚น์„ ์—ฐ์Šตํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํŒŒ์•…ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ DFS๊ฐ€ ์žˆ๋Š”๋ฐ ๋ฐฑํŠธ๋ž˜ํ‚น์€ DFS์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ
์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ์ผ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

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