KEEP GOING
[python] 백준 15649번 : N과 M(1) 본문
반응형
https://www.acmicpc.net/problem/15649
이 문제의 경우 대표적으로 DFS를 사용하여 순열을 구하는 문제입니다.
DFS를 사용하여 조합을 구하는 문제가 궁금하다면 아래 링크를 참고하시면 됩니다.
https://dogsavestheworld.tistory.com/269
[dfs]
def dfs(arr):
global visited
if len(arr) == M:
print(*arr)
return
for i in range(N):
if not visited[i]:
visited[i] = True
arr.append(lst[i])
dfs(arr)
visited[i] = False
arr.pop()
N, M = map(int, input().split())
visited = [False for _ in range(N)]
lst = [i for i in range(1, N+1)]
dfs([])
반응형
'code review > bfs-dfs' 카테고리의 다른 글
[python] 백준 15650번 : N과 M(2) (0) | 2022.05.29 |
---|---|
[python] 백준 2206번 : 벽 부수고 이동하기 (3차원 BFS) (0) | 2022.05.05 |
[python] 백준 10597번 : 순열 장난(backtracking) (0) | 2022.04.21 |
[python] 백준 9205번 : 맥주 마시면서 걸어가기 (BFS, DFS) (0) | 2022.03.13 |
[python] 백준 2606번 : 바이러스 (DFS, BFS) (0) | 2022.03.12 |
Comments