반응형
문제
https://www.acmicpc.net/problem/15664
풀이
변수 temp가 추가되었다.
temp를 통해 직전에 구한 수랑 같은지 비교해준다.
그리고 start번호를 통해 중복되는 수열을 여러 번 출력하면 안되는 조건을 만족시켜준다.
코드
import sys
read = sys.stdin.readline
n, m = list(map(int, read().split()))
num = list(map(int, read().split())) #입력받은 수 저장
arr = [0 for _ in range(m)]
vis = [0 for _ in range(n)]
num.sort()
def choose(k,start):
if (k == m):
print(" ".join(map(str, arr)))
else:
temp = 0
for i in range(start,n):
if(vis[i]==0 and temp != num[i]):
vis[i] = 1
arr[k] = num[i]
temp = num[i]
choose(k + 1,i)
vis[i] = 0
choose(0,0)
반응형
'알고리즘' 카테고리의 다른 글
[백준/15666][파이썬] N과 M(12) (0) | 2023.04.11 |
---|---|
[백준/15665][파이썬] N과 M(11) (0) | 2023.04.11 |
[백준/15663][파이썬] N과 M(9) (0) | 2023.04.11 |
[백준/15657][파이썬] N과 M(8) (0) | 2023.04.11 |
[백준/15656][파이썬] N과 M(7) (0) | 2023.04.11 |