문제
1부터 N까지 번호가 적힌 구슬이 있습니다. 이 중 M개를 뽑아 일렬로 나열하는 방법을 모두 출력하기
조건
제한사항
첫 번째 줄에 자연수 N(3<=N<=10)과 M(2<=M<=N) 이 주어집니다.
첫 번째 줄에 결과를 출력합니다. 맨 마지막 총 경우의 수를 출력합니다.
출력순서는 사전순으로 오름차순으로 출력합니다.
문제풀이
def go(L):
global cnt
if L==M:
for i in range(M):
print(res[i], end=' ')
print()
cnt+=1
else:
for i in range(1, N+1):
if ch[i]==0:
ch[i]=1
res[L]=i
go(L+1)
ch[i]=0
N, M=map(int, input().split())
res=[0]*N
ch=[0]*(N+1)
cnt=0
go(0)
print(cnt)
'파이썬 알고리즘 풀이' 카테고리의 다른 글
| 54)조합 구하기 (0) | 2021.11.08 |
|---|---|
| 53)수열 추측하기 (0) | 2021.11.04 |
| 51)동전 교환 (0) | 2021.11.04 |
| 50)중복순열 구하기 (0) | 2021.11.04 |
| 49)바둑이 승차(DFS) (0) | 2021.11.04 |