만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

N과 M (11)

면접 대비

시간 제한1초메모리 제한512 MB

요약
N개의 수와 길이 M이 주어질 때, 같은 수를 여러 번 골라도 되는 길이 M의 수열을 중복 없이 사전순으로 모두 출력한다.
난이도

보통10점 중 4점

유형
백트래킹, 재귀, 정렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

N개의 자연수와 자연수 M이 주어진다. 아래 조건을 만족하는 길이 M인 수열을 모두 구하는 프로그램을 작성하시오.

  • 주어진 N개의 수 중에서 M개를 고른 수열
  • 같은 수를 여러 번 골라도 된다.

입력

첫째 줄에 N과 M이 주어진다. (1≤M≤N≤71 \le M \le N \le 7)

둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.

출력

조건을 만족하는 수열을 한 줄에 하나씩 출력한다. 한 수열 안의 수는 공백으로 구분한다. 같은 수열을 두 번 출력하면 안 된다.

수열은 사전 순으로 증가하는 순서로 출력한다.

예제3

  1. 예제 1

    입력
    3 1
    4 4 2
    
    예상 출력
    2
    4
    
  2. 예제 2

    입력
    4 2
    9 7 9 1
    
    예상 출력
    1 1
    1 7
    1 9
    7 1
    7 7
    7 9
    9 1
    9 7
    9 9
    
  3. 예제 3

    입력
    4 4
    1 1 2 2
    
    예상 출력
    1 1 1 1
    1 1 1 2
    1 1 2 1
    1 1 2 2
    1 2 1 1
    1 2 1 2
    1 2 2 1
    1 2 2 2
    2 1 1 1
    2 1 1 2
    2 1 2 1
    2 1 2 2
    2 2 1 1
    2 2 1 2
    2 2 2 1
    2 2 2 2