https://www.acmicpc.net/problem/15652
풀이
비내림차순이므로 (중복 가능), 다음 원소를 고를 때 마지막으로 택한 원소 이상을 고르도록 하면 된다.
코드
/*boj s3 15652 N과 M (4)*/
#include <iostream>
#define MAXN 9
using namespace std;
int N, M;
int answer[MAXN];
void func(int k, int j) { // j부터 가능
if (k == M) {
for (int i = 0; i < M; i++) {
cout << answer[i] << " ";
}
cout << '\n';
return;
}
for (int i = j; i <= N; i++) { // 중복이 가능하면서 비내림차순으로
answer[k] = i;
func(k + 1, i);
}
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
func(0, 1);
}
'알고리즘' 카테고리의 다른 글
백준 s2 15663 N과 M (9), s2 15664 N과 M(10) c++ (0) | 2024.01.15 |
---|---|
백준 s3 15654 N과 M (5) c++ (0) | 2024.01.15 |
백준 s3 15651 N과 M (3) c++ (0) | 2024.01.15 |
백준 s3 15650 N과 M (2) c++ (0) | 2024.01.15 |
백준 s2 1182 부분수열의 합 c++ (0) | 2024.01.15 |