프로그래밍/Python

[Python] 백준 15654 N과 M (5)

모영이 2021. 3. 5. 23:13

 

15654번: N과 M (5)

N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열

www.acmicpc.net

백트래킹 : 한번 간 곳은 다시 방문하지 않도록 설계

 

전체 코드

import sys

input = sys.stdin.readline

def bt(t:int, result:list, visited:list):
    if t == 0:
        print(*result)
        return
    for i in range(len(nums)):
        if i not in visited:
            bt(t-1, result + [nums[i]], visited + [i])

N, M = map(int, input().split())
nums = list(map(int, input().split()))
nums.sort()

bt(M, [], [])

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 백준 15663 N과 M (9)  (0) 2021.03.08
[Python] 백준 1167 트리의 지름  (0) 2021.03.08
[Python] 백준 1992 쿼드트리  (0) 2021.03.03
[Python] 백준 1261 알고스팟  (0) 2021.02.26
[Python] 백준 1932 정수 삼각형  (0) 2021.02.25