순열과 조합
순열
조합
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=449&sca=2080
주사위를 던진 횟수 N과 출력형식 M을 입력 받아서 M의 값에 따라 각각 아래와 같이 출력하는 프로그램을 작성하시오.
def dice1(cnt, start):
if cnt == N:
print(*path)
return
for i in range(1, 7):
path[cnt] = str(i)
dice(cnt + 1, type, start)
path = [""] * 100
dice1(0, 1)
def comb(cnt, start):
if cnt == N:
print(*path)
return
for i in range(start, 7):
path[cnt] = str(i)
comb(cnt + 1, i)
path = [""] * 100
visit = [0] * 8
N = 3
comb(0, 1)
def dice3(cnt, start):
if cnt == N:
print(*path)
return
for i in range(1, 7):
if visit[i]: continue
visit[i] = 1
path[cnt] = str(i)
dice(cnt + 1, type, start)
visit[i] = 0
path = [""] * 100
visit = [0] * 8
dice3(0, 1)
백트래킹, 완전탐색에서 많이 쓰이니 잘 알아두자!!!
기본기의 중요성!!