[Silver III] Title: N과 M (4), Time: 52 ms, Memory: 35560 KB -BaekjoonHub

This commit is contained in:
SSUM
2025-02-28 18:06:22 +09:00
parent 0d8e6e56a4
commit 87757713f5
2 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
import sys
import math
from itertools import combinations_with_replacement
N, M = map(int, input().split())
a=[]
for i in range(1, N+1):
a.append(i)
for i in combinations_with_replacement(a, M):
print(*i)

View File

@@ -0,0 +1,40 @@
# [Silver III] N과 M (4) - 15652
[문제 링크](https://www.acmicpc.net/problem/15652)
### 성능 요약
메모리: 35560 KB, 시간: 52 ms
### 분류
백트래킹
### 제출 일자
2025년 2월 28일 18:06:13
### 문제 설명
<p>자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.</p>
<ul>
<li>1부터 N까지 자연수 중에서 M개를 고른 수열</li>
<li>같은 수를 여러 번 골라도 된다.</li>
<li>고른 수열은 비내림차순이어야 한다.
<ul>
<li>길이가 K인 수열 A가 A<sub>1</sub> ≤ A<sub>2</sub> ≤ ... ≤ A<sub>K-1</sub> ≤ A<sub>K</sub>를 만족하면, 비내림차순이라고 한다.</li>
</ul>
</li>
</ul>
### 입력
<p>첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)</p>
### 출력
<p>한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.</p>
<p>수열은 사전 순으로 증가하는 순서로 출력해야 한다.</p>