8 条题解
-
0
#include<iostream> #include<algorithm> #include<cmath> #include<cstdio> #include<vector> using namespace std; const int N=12; int used[N]; int nums[N]; vector<int> res; int n; void dfs(int countNum){ if(countNum>n){ for(auto temp:res) cout<<temp<<" "; cout<<endl; return; } for(int i=0;i<n;i++){ if(used[i]) continue; // 标记为被使用过 used[i]=1; res.push_back(nums[i]); dfs(countNum+1); used[i]=0; res.pop_back(); } } int main(){ cin>>n; for(int i=0;i<n;i++) nums[i]=i+1; dfs(1); return 0; }
信息
- ID
- 82
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 5
- 标签
- 递交数
- 399
- 已通过
- 155
- 上传者