본문 바로가기
백준 알고리즘(BOJ)

백준 알고리즘 15656 (N과 M(7)) - python

by Think_why 2019. 10. 16.

[문제] 백준 알고리즘 15656 (N과 M(7)) - python

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

 

15656번: N과 M (7)

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

www.acmicpc.net

 

N과 M(6)와 비슷한데, 같은 수열을 여러번 골라도 되며 오름차순이 없는 문제

visited를 쓰지 않고, idx를 적용한 range도 쓰지 않으면 끝이다.

오히려 코드로는 간단해진다.

 

[Code]

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

L.sort()
out = []

def solve(depth, N, M):
    if depth == M:
        print(' '.join(map(str, out)))
        return
    for i in range(N):
        out.append(L[i])
        solve(depth+1, N, M)
        out.pop()

solve(0, N, M)
728x90

댓글