9 条题解
-
0
#include <cstdio> #include <vector> #include <functional> using namespace std; int main() { int n; scanf("%d", &n); vector<char> ita(n + 1, 0); vector<int> res; function<void()> dfs = [&]() { if (res.size() >= n) { for (int& it : res) printf("%d ", it); printf("\n"); return; } for (int i = 1; i <= n; ++i) { if (!ita[i]) { // 是否已经放过 ita[i] = 1; res.push_back(i); // 放 dfs(); res.pop_back(); // 不放 ita[i] = 0; } } }; dfs(); return 0; }
信息
- ID
- 82
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 5
- 标签
- 递交数
- 412
- 已通过
- 162
- 上传者