求问大佬,为什么只打输出了一遍
查看原帖
求问大佬,为什么只打输出了一遍
838953
JXY04315611楼主2023/2/11 12:58
#include <cstdio>

using namespace std;
int a[11],n,i;
bool b[11];
void dfs(int u){
    if(u>n){
        for(i=1;i<=n;i++)
        printf("%5d",a[i]);
        printf("\n");
        return ;
    }for(i=1;i<=n;i++){
        if(!b[i]){
            a[u]=i;
            b[i]=true;
            dfs(u+1);
            b[i]=false;
        }
    }
}
int main(){
    scanf("%d",&n);
    dfs(1);
    return 0;
}
2023/2/11 12:58
加载中...