본문 바로가기

PS

백준 BOJ 15649 C++ [N과 M (1)](2)

// next_permutation()을 이용하여 서로 다른 n 개중 m 개를 중복없이 뽑은 경우
#include <bits/stdc++.h>
using namespace std;

int n, m;

void solve() {
    cin >> n >> m;
    vector<int> arr;
    for (int i = 1; i <= n; ++i) {
        arr.push_back(i);
    }
    // sort(arr.begin(), arr.end());
    do {
        for (size_t i = 0; i < m; ++i) {
            cout << arr[i] << ' ';
        }
        cout << '\n';
        reverse(arr.begin() + m, arr.end());
    } while (next_permutation(arr.begin(), arr.end()));
}

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

'PS' 카테고리의 다른 글

백준 BOJ 15652 C++ [N과 M (4)]  (0) 2026.04.23
백준 BOJ 15650 C++ [N과 M (2)]  (0) 2026.04.22
백준 BOJ 15649 C++ [N과 M (1)]  (1) 2026.04.22
백준 BOJ 2448 C++ 별 찍기 - 11  (0) 2026.04.22
백준 BOJ 2447 C++ 별 찍기 - 10  (0) 2026.04.22