[Python] BOJ 6603 - 로또(Lotto)
728x90
반응형
https://www.acmicpc.net/problem/6603
# 백트래킹 문제이다.
# k와 숫자들 num을 입력받은 뒤, BT함수로 백트래킹을 실행한다.
# BT함수에서 len이 6이면, 숫자6개를 모두 뽑았으므로 answer에 nums.copy()를 append해주고
함수를 종료한다.
# 이미 뽑은 숫자를 또 뽑을 수 없으므로, prev변수를 통해 현재 뽑은 숫자의 다음 인덱스부터
nums에 append되도록 했다.
import sys
input = sys.stdin.readline
def BT(prev, len, nums):
if len == 6:
answer.append(nums.copy())
return
for i in range(prev, k):
nums.append(num[i])
BT(i+1, len+1, nums)
nums.pop()
while True:
k, *num = map(int,input().split())
answer = []
if k == 0:
break
else:
BT(0, 0, [])
for i in answer:
print(*i)
print()
(solved.ac 티어: 실버 2)
728x90
반응형
'문제풀이 > BaekjoonOnlineJudge' 카테고리의 다른 글
[Python] BOJ 14889 - 스타트와 링크 (0) | 2021.06.06 |
---|---|
[Python] BOJ 1759 - 암호 만들기 (0) | 2021.06.04 |
[Python] BOJ 1774 - 우주신과의 교감 (0) | 2021.06.03 |
[Python] BOJ 1647 - 도시 분할 계획 (0) | 2021.06.03 |
[Python] BOJ 21870 - 시철이가 사랑한 GCD (0) | 2021.06.02 |
TAGS.