웹찢남

[백준 15655 N과 M (6) 문제] PYTHON 본문

백준 Algorithm

[백준 15655 N과 M (6) 문제] PYTHON

harry595 2021. 8. 12. 23:30

전의 문제에 더해 result 마지막 인자와 현재 값을 비교하는 구문만을 추가하면 된다.

 

A, B = map(int, input().split())
C = list(map(int, input().split()))
C.sort()
result = []
visit = [False]*A


def backtracking(depth, A, B):
    if depth == B:
        print(' '.join(map(str, result)))
        return
    for i in range(A):
        if visit[i] == True:
            continue
        if len(result) > 0:
            if result[-1] > C[i]:
                continue
        visit[i] = True
        result.append(C[i])
        backtracking(depth+1, A, B)
        result.pop()
        visit[i] = False


backtracking(0, A, B)
Comments