dfs模板
b站视频链接
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 20;
int arr[maxn];
int vis[maxn];
int stc[maxn];
int n,top;
void init(){
for(int i = 0;i < maxn;++i){
vis[i] = 1;
}
}
void dfs(int ith){
if(ith == n){
for(int i = 0;i<n;++i){
cout<<stc[i];
}
cout<<endl;
return ;
}
for(int i = 0;i<n;++i){
if(vis[i] == 1){
vis[i] = 0;
stc[top++] = arr[i];
dfs(ith+1);
top--;
vis[i] = 1;
}
}
}
int main()
{
while(cin>>n){
for(int i = 0;i<n;++i){
cin>>arr[i];
}
init();
top = 0;
dfs(0);
}
return 0;
}
2 comments
老张 ლ(′◉❥◉`ლ)
你是哪个0.0