提交时间:2026-02-03 11:40:38

运行 ID: 83855

#include <iostream> #include <vector> #include <algorithm> // 包含next_permutation using namespace std; int main() { int n, k; cin >> n >> k; // 初始化序列:1,2,...,n(升序,保证字典序起始) vector<int> v(n); for (int i = 0; i < n; ++i) { v[i] = i + 1; } // 循环生成全排列,每次取前k个输出 do { for (int i = 0; i < k; ++i) { cout << v[i] << " "; } cout << endl; } while (next_permutation(v.begin(), v.end())); // 无下一个排列时退出 return 0; }