1 solutions
-
0
一道比较经典的dfs模板题,可以很好的帮助理解dfs的递归过程。
#include<bits/stdc++.h> using namespace std; int n,cnt; int v[11] = {0}; int mark[11] = {0}; void dfs(int x){ if(x == n){ for(int i=0;i<n;i++) cout<<v[i]<<' '; cout<<endl; cnt++; return ; } for(int i=1;i<=n;i++){ if(mark[i]) continue; mark[i] = 1; v[x] = i; dfs(x+1); v[x] = 0; mark[i] = 0; } return ; } int main(){ cin>>n; dfs(0); return 0; }
- 1
Information
- ID
- 498
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 8
- Tags
- (None)
- # Submissions
- 20
- Accepted
- 7
- Uploaded By