李慕航 • 20小时前
using namespace std; int a[15],vis[15],m; void dfs(int k){
if(k==m){
for(int i=0;i<m;i++){
printf("%d ",a[i]+1);
}
printf("\n");
}
for(int i=0;i<m;i++){
if(vis[i]==1 || k==i)continue;
vis[i]=1;
a[k]=i;
dfs(k+1);
a[k]=0;
vis[i]=0;
}
return;
} int main(){
cin>>m;
dfs(0);
return 0;
}
评论:
请先登录,才能进行评论