반응형
내 풀이
def back(d,n,m):
if d==m:
print(*ans)
return
for i in range(n):
if not visit[i]:
ans.append(i+1)
back(d+1,n,m)
visit[i]=False
ans.pop()
if __name__=='__main__':
n,m=map(int,input().split())
ans=[]
visit=[False]*n
back(0,n,m)
라이브러리 사용한 경우
from itertools import product
n,m=map(int,input().split())
num=[] #n까지의 숫자
nnum=[] #m개의 nnum
ans=[] #nnum안의 list 모든 조합
for i in range(n):
num.append(i+1)
for k in range(m):
nnum.append(num)
ans=list(product(*nnum))
for i in ans:
print(*i)
for i in range(len(ans)):
print(' '.join(ans[i]))
a=[1,2,3]
하나의 리스트 모든 조합 계산
from itertools import __________
list( permutations(a,2) )
->[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
list( combinations(a,2) )
->[(1, 2), (1, 3), (2, 3)]
두개의 리스트에서 모든 조합을 계산할때
list( product (*a) )
->[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
'🔑 알고리즘 > 백준 Python' 카테고리의 다른 글
백준2748번 파이썬 피보나치수2 #14-1)동적계획법1 (0) | 2020.10.21 |
---|---|
백준15652번 파이썬 N과M4 #13-4) 백트래킹 (0) | 2020.10.20 |
백준15649번 파이썬 N과M #12-1) 백트래킹 (0) | 2020.10.19 |
백준10814번 파이썬 나이순정렬 #11-9) 정렬 (0) | 2020.10.18 |
백준1181번 파이썬 단어정렬 #11-8) 정렬 (0) | 2020.10.17 |
댓글