[백준] 6603번 (python 파이썬) 로또
2021. 4. 5. 12:24ㆍ발돋움/알고리즘
728x90
반응형


중복없이 오름차순으로 6자리의 순열을 만들면된다.
이때 테스트 케이스 사이에만 빈줄이 하나 출력되어야 한다.
재귀로 풀되 조건을 만족할때에만 순열을 만들도록 코드를 짜면 된다.
def solve(idx):
if idx == 6:
print(' '.join(map(str, result)))
return
for i in range(k):
if visit[i]:
continue
if idx != 0 and result[idx - 1] > s[i]:
continue
result.append(s[i])
visit[i] = True
solve(idx + 1)
result.pop()
visit[i] = False
cnt = 0
while True:
s = list(map(int, input().split()))
k = s[0]
del s[0]
if k == 0:
break
if cnt != 0:
print()
visit = [False] * k
result = []
solve(0)
cnt += 1

728x90
반응형
'발돋움 > 알고리즘' 카테고리의 다른 글
| [백준] 11724번 python : 연결요소의 갯수 (0) | 2021.06.03 |
|---|---|
| [백준] 1193번 (python 파이썬) 분수찾기 / [구름레벨] 뱀 유리수 수열 (0) | 2021.04.14 |
| [백준] 10974번 (python 파이썬) 모든 순열 (0) | 2021.04.04 |
| [백준] 10973번 (python 파이썬) 이전 순열 (0) | 2021.04.04 |
| [백준] 10972번 (python 파이썬) 다음 순열 (0) | 2021.04.04 |