코딩테스트

[python 백준] 15666번 : N과 M (12)

Alpaca_data_cloud 2024. 9. 25. 09:50

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

처음 N 과 M 문제를 풀었을때는 너무 어려웠는데 지금은 여러번 하다보니 그냥 외우듯이 해버리게 되었다.

import sys
input = sys.stdin.readline
def backtrack(part,index):
    global numbers
    global m , n
    if len(part) == m:
        print(' '.join(map(str,part)))
        return
    
    for i in range(len(numbers)):
        if index == 0 or index > 0 and part[-1] - 1 < numbers[i]:
            part.append(numbers[i])
            backtrack(part,i)
            part.pop()

n , m = map(int,input().split())
numbers = list(set(map(int,input().split())))
numbers.sort()

backtrack([],0)