N과 M 문제의 조건들을 모두 모아놓은 문제다
10번의 비 내림차순 조건과
11번의 중복 여러번 가능 조건을
합쳐놓은 문제다.
N과M 10번을 보고싶으면? N과M(10) 보러가기
N과M 11번을 보고싶으면? N과M(11) 보러가기
- 숫자는 중복가능하다.-> 중복 횟수에 제한이 없음 -> set으로 해결
- 비내림차순이다. -> 수열이 같거나 커지는 순이다. 정렬 이후 시작 index를 기준으로 같은 index이거나 더 큰 index만 탐색한다.
# N과 M (11)
# N개중에 M개
# 같은 수 여러번 골라도 된다
# 비내림차순이다
# 끝판왕!?!?
N,M=map(int,input().split())
lst=list(map(int,input().split()))
dup_check=[]
def solve(num,start,ans):
if len(ans)==num:
for i in ans:
print(lst[i],end=' ')
print()
return
for i in range(start,len(lst)):
solve(num,i,ans+[i])
lst=list(set(lst))
lst.sort()
for i in range(len(lst)):
solve(M,i,[i])