티스토리 뷰

https://www.acmicpc.net/problem/6603

 

6603번: 로또

문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2

www.acmicpc.net

* DFS

import sys

def lotto(n, k):

    if k == 6:
        for i in range(6):
            print(ans[i], end = ' ')
        print()
        return
    
    for i in range(n, seq[0]+1):
        ans[k] = seq[i]
        lotto(i+1, k+1)

while(1):
    seq = list(map(int, sys.stdin.readline().split()))
    ans = [0] * 6

    if seq[0] == 0:
        break
    
    lotto(1, 0)
    print()
공지사항
최근에 올라온 글
«   2024/11   »
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 26 27 28 29 30
글 보관함