[백준] #15651 N과 M (3) python

2023. 1. 8. 06:00

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

 

15651번: N과 M (3)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

📕 설명 📕

N과 M (1)의 변형으로 풀이하였다.

 

DFS에서 자신을 제외하는 것을 하지 않으면 풀린다.

 

🧑🏻‍💻 나의 풀이 🧑🏻‍💻

N, M = map(int ,input().split())
result = []
visited = [False]*(N+1)

def DFS():
    if len(result) == M:
        print(' '.join(map(str, result)))
        return
    for i in range(1, N+1):
        visited[i] = True
        result.append(i)
        DFS()
        result.pop()
        visited[i] = False
DFS()

 

'Programming > Algorithm' 카테고리의 다른 글

[백준] #15652 N과 M (4) python  (1) 2023.01.10
[백준] #7576 토마토 python  (0) 2023.01.09
[백준] #15650 N과 M (2) python  (0) 2023.01.07
[백준] #15649 N과 M (1) python  (0) 2023.01.06
[백준] #2004 조합 0의 개수 python  (0) 2023.01.05

BELATED ARTICLES

more