dfs(排列数字 n皇后问题) (9/21)

 dfs排列数字

#include<iostream>
using namespace std;
const int N=10;
int path[N];
bool str[N];
int n;
void dfs(int u){
    if(u==n){
        for(int i=0;i<n;i++)printf("%d ",path[i]);
        puts(" ");//换行符操作
        return;
    }
    
    for(int i=1;i<=n;i++){
        if(!str[i]){
            path[u]=i;
            str[i]=true;
            dfs(u+1);
            str[i]=false;
        }
    }
}
int main(){
    cin>>n;
    dfs(0);
    return 0;
}

 

posted @ 2023-09-21 21:43  敲代码的6  阅读(26)  评论(0)    收藏  举报