9 条题解
-
0
#include <iostream> #include <vector> #include <algorithm> using namespace std; void generateCombinations(const vector<int>& nums, int start, int r, vector<int>& current, vector<vector<int>>& result) { if (current.size() == r) { result.push_back(current); return; } for (int i = start; i < nums.size(); i++) { current.push_back(nums[i]); generateCombinations(nums, i + 1, r, current, result); current.pop_back(); } } int main() { int n, r; cin >> n >> r; vector<int> nums(n); for (int i = 0; i < n; i++) { cin >> nums[i]; } sort(nums.begin(), nums.end()); vector<int> current; vector<vector<int>> result; generateCombinations(nums, 0, r, current, result); for (const auto& combination : result) { for (int i = 0; i < combination.size(); i++) { if (i > 0) { cout << " "; } cout << combination[i]; } cout << endl; } return 0; }
信息
- ID
- 83
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 610
- 已通过
- 214
- 上传者