https://www.acmicpc.net/problem/15649
15649번: N과 M (1)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
💡 예전에 c로 풀었던 문제인데, 파이썬으로 풀려고 바꾸니까 제대로 안돌아가서 처음부터 다시풀었던 문제
이전에 c로 풀었을때는 깊이우선탐색으로 안풀었는데 깊이우선탐색이 확실히 코드가 더 간단한 것 같다.
1. 소스코드
N,M=map(int,input().split())
c=[]
def dfs():
if len(c)==M:
print(' '.join(map(str, c)))
return
else:
for i in range(1,N+1):
if i not in c:
c.append(i)
dfs()
c.pop()
dfs()
'백준문제풀이' 카테고리의 다른 글
[백준 문제풀이] 15651번 : N과 M(3) (0) | 2021.08.11 |
---|---|
[백준 문제풀이] 15650번 : N과 M(2) (0) | 2021.08.08 |
[백준 문제풀이] 9095번 : 1, 2, 3 더하기 (0) | 2021.08.08 |
[백준 문제풀이] 1748번 : 수 이어 쓰기1 (0) | 2021.08.05 |
[백준 문제풀이] 6064번 : 카잉 달력 (0) | 2021.08.04 |