시작이 반

[백준] 15651번(python 파이썬) 본문

알고리즘/백준

[백준] 15651번(python 파이썬)

G_Gi 2021. 1. 10. 16:29
SMALL

https://www.acmicpc.net/problem/15651

 


N과M 3번째 시리즈이다. 

이번에는 방문했던 숫자를 다시 방문할 수 있다.

visited를 써서 풀었지만 생각해보니 안써도 될 것 같다.

visited를 모두 False로 하고 방문을해도 방문처리를 안한다.

 


n, m = map(int, input().split())
visited = [False] * (n + 1)
solve = []

def Dfs(depth):
    if depth == m:
        for i in range(m):
            print(solve[i], end=" ")
        print()
        # print(' '.join(map(str, solve)))  
        # join을 사용하여 풀 수 도있다. join은 문자열을 합치는 함수이다.
        # solve에 있는 원소는 int형이기 때문에 map을 사용하여 string형으로 만들어주고 join
        return
    for i in range(1, n + 1):
        if not visited[i]:
            solve.append(i)
            Dfs(depth + 1)
            solve.pop()

Dfs(0)
LIST

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 15654번(python 파이썬)  (0) 2021.01.10
[백준] 15652번(python 파이썬)  (0) 2021.01.10
[백준] 15650번(python 파이썬)  (0) 2021.01.10
[백준] 15649번(python 파이썬)  (0) 2021.01.10
[백준] 2206번(python 파이썬)  (0) 2021.01.08