2 solutions
-
1
包对的
#include<bits/stdc++.h> using namespace std; const int N=10; int ans[N],n; bool st[N]; void dfs(int u) { if(u==n+1) { for(int i=1;i<=n;i++) { cout<<ans[i]<<" "; } cout<<endl; return; } for(int i=1;i<=n;i++) { if(st[i]==0) { st[i]=1; ans[u]=i; dfs(u+1); st[i]=0; } } } int main() { cin>>n; dfs(1); return 0; }
-
-1
#include<bits/stdc++.h> using namespace std; const int N=10; int ans[N],n; bool st[N]; void dfs(int u) { if(u==n+1) { for(int i=1;i<=n;i++) cout<<ans[i]<<" "; cout<<endl; return ; } for(int i=1;i<=n;i++) if(st[i]==0) { st[i]=1; ans[u]=i; dfs(u+1); st[i]=0; } } int main() { cin>>n; dfs(1); return 0; }
- 1
Information
- ID
- 231
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 21
- Accepted
- 8
- Uploaded By