"the only way to be truly satisfied is to do what you believe is great work."

백준 15649 N과M (1)

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