본문 바로가기

PS

백준 BOJ 15657 C++ [N과 M (8)]

#include <bits/stdc++.h>
using namespace std;

int n, m, arr[9];
vector<int> vec;

void dfs(int level, int start) {
    if (level == m) {
        for (int i = 0; i < m; ++i) {
            cout << arr[i] << ' ';
        }
        cout << '\n';
        return;
    }
    for (int i = start; i < n; ++i) {
        arr[level] = vec[i];
        dfs(level + 1, i);
    }
}

void solve() {
    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
        int num;
        cin >> num;
        vec.push_back(num);
    }
    sort(vec.begin(), vec.end());
    dfs(0, 0);
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}

'PS' 카테고리의 다른 글

백준 BOJ 15664 C++ [N과 M (10)]  (0) 2026.04.24
백준 BOJ 15663 C++ [N과 M (9)]  (0) 2026.04.24
백준 BOJ 15656 C++ [N과 M (7)]  (0) 2026.04.24
백준 BOJ 15655 C++ [N과 M (6)]  (0) 2026.04.23
백준 BOJ 15644 C++ [N과 M (5)]  (0) 2026.04.23