Life Engineering
[BOJ 6603] 로또 (Python3) 본문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
array=[]
visited=[False]*13
while True:
l=list(map(int, input().split()))
if l[0]!=0:
array.append(l)
else:
break
def dfs(i, start, count):
if count==6:
for j in range(1,len(array[i])):
if visited[j]==True:
print(array[i][j],end=' ')
print("")
return
for j in range(start,len(array[i])):
visited[j]=True
dfs(i,j+1, count+1)
visited[j]=False
for i in range(len(array)):
dfs(i,1,0)
print("")
|
cs |
DFS로 조합(n개 중 k개를 뽑는)만드는 문제이다. 백트래킹을 사용하여 경우의 수를 구하면 된다.
이미 확정된 수를 count로 두고, 여러가지 경우의 수를 만들면 된다.
fdsaf
[
'Problem Solving' 카테고리의 다른 글
[BOJ 1389] 케빈 베이컨의 6단계 법칙 (Python3) (0) | 2021.02.19 |
---|---|
[BOJ 1931] 회의실 배정 (Python 3) (0) | 2021.02.18 |
[코딩테스트 대비 커리큘럼] (0) | 2021.02.17 |
[BOJ 11060] 점프 점프 (Python3) (0) | 2021.02.15 |
[BOJ 15686] 치킨 배달 (Python3) (0) | 2021.02.15 |