| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 85285 | 彭士宝 | 排列组合 | C++ | Wrong Answer | 0 MS | 268 KB | 1082 | 2024-07-16 21:15:42 |
#include <iostream> #include <vector> using namespace std; // 函数来生成三位数 void generateThreeDigitNumbers(vector<int>& digits, int start, vector<int>& numbers) { if (digits.size() == 3) { // 将三位数转换为整数 int number = digits[0] * 100 + digits[1] * 10 + digits[2]; numbers.push_back(number); } else { for (int i = start; i < 4; i++) { digits.push_back(i + 1); // 将数字i+1添加到数组 generateThreeDigitNumbers(digits, i + 1, numbers); // 递归生成下一个数字 digits.pop_back(); // 回溯,移除最后一个数字 } } } int main() { vector<int> digits; // 存储当前生成的数字 vector<int> numbers; // 存储所有生成的三位数 // 调用函数生成所有三位数 generateThreeDigitNumbers(digits, 0, numbers); // 输出所有三位数 for (int number : numbers) { cout << number << endl; } // 输出总个数 cout << numbers.size() << endl; return 0; }
------Input------
4 2 3 0
------Answer-----
246 248 264 268 284 286 426 428 462 468 482 486 624 628 642 648 682 684 824 826 842 846 862 864 24
------Your output-----
123 124 134 234 4