만드는 중입니다

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

N과 M (7)

면접 대비

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

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

보통10점 중 4점

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

문제

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

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

입력

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

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

출력

한 줄에 하나씩 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안 되며, 각 수열은 공백으로 구분해서 출력한다.

수열은 사전순으로 증가하는 순서로 출력한다. 두 수열의 앞뒤는 첫 번째 원소부터 차례로 값의 크기를 비교해서 정한다.

예제3

  1. 예제 1

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

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

    입력
    3 3
    1231 1232 1233
    
    예상 출력
    1231 1231 1231
    1231 1231 1232
    1231 1231 1233
    1231 1232 1231
    1231 1232 1232
    1231 1232 1233
    1231 1233 1231
    1231 1233 1232
    1231 1233 1233
    1232 1231 1231
    1232 1231 1232
    1232 1231 1233
    1232 1232 1231
    1232 1232 1232
    1232 1232 1233
    1232 1233 1231
    1232 1233 1232
    1232 1233 1233
    1233 1231 1231
    1233 1231 1232
    1233 1231 1233
    1233 1232 1231
    1233 1232 1232
    1233 1232 1233
    1233 1233 1231
    1233 1233 1232
    1233 1233 1233