๋ฌธ์
https://www.acmicpc.net/problem/15650
ํ์ด
1. DFS๋ฅผ ํตํ ํ์ด
# ๋ฐฑ์ค 15650๋ฒ ๋ฌธ์ - N ๊ณผ M (2)
N, M = map(int, input().split())
visited = [0 for _ in range(N)]
arr = []
def dfs(cnt):
if cnt == M:
print(*arr)
return
for i in range(N):
if visited[i] == 0:
visited[i] = 1 # ์ค๋ณต ์ ๊ฑฐ
arr.append(i+1)
dfs(cnt+1) # ๋ค์ ๊น์ด ํ์
arr.pop() # ํ์ฌํ ๋ด์ฉ ์ ๊ฑฐ
# ์์ด ๋ถ๋ถ๊ณผ์ ์ฐจ์ด์
for j in range(i+1, N):
visited[j] = 0
dfs(0)
2. Combination์ ํตํ ํ์ด
from itertools import combinations
N, M = map(int, input().split())
p = combinations(range(1, N+1), M)
for i in p:
print(*i)
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] [Python] 10773๋ฒ_์ ๋ก_์คํ (1) | 2022.10.13 |
---|---|
[๋ฐฑ์ค] [Python] 1149๋ฒ_RGB๊ฑฐ๋ฆฌ_๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ (1) | 2022.10.11 |
[๋ฐฑ์ค] [Python] 1436๋ฒ_์ํ๊ฐ๋ ์_๋ธ๋ฃจํธ ํฌ์ค (1) | 2022.10.11 |
[๋ฐฑ์ค] [Python] 11726๋ฒ_2xN ํ์ผ๋ง_๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ (1) | 2022.10.11 |
[๋ฐฑ์ค] [Python] 1018๋ฒ_์ฒด์คํ ๋ค์ ์น ํ๊ธฐ_๋ธ๋ฃจํธ ํฌ์ค (1) | 2022.09.22 |