https://www.acmicpc.net/problem/15649
def per (k,M):
if k ==M:
print(*A)
return
else:
for i in range(1,1+N):
if not visited[i]:
A[k] = i
visited[i] =True
per(k+1,M)
visited[i] =False
N,M = map(int ,input().split())
visited = [False]*(N+1)
A=[-1]*M
per(0,M)
- N과 M을 이용한 순열의 경우의 수
- 백트래킹의 기본
- 필요할때마다 기억이 안나서 블로그에 기록
'알고리즘 > 백준' 카테고리의 다른 글
[C++] 백준11660: 구간 합 구하기 5 (0) | 2023.12.12 |
---|---|
[C++] 백준 11659 : 구간 합 구하기 4 (0) | 2023.12.12 |
[Python] 백준 1344번 : 축구 (0) | 2023.04.05 |
[Python] 최소합 / 전자카트 (0) | 2023.03.28 |
백준 2578 : 빙고 (4) | 2023.02.25 |