求大佬帮忙
查看原帖
求大佬帮忙
1349586
bole_zhangshichen楼主2025/1/22 14:13

这是我全排列问题的正确代码,怎么改这题才能对啊!求大佬帮忙!

#include<bits/stdc++.h>
using namespace std;
int n,a[10];
int bj[10]={0};//标记 
//深度优先搜索 
int dfs(int k){//k层 
    if(k>n){
		for(int i=1;i<=n;i++){
			printf("%5d",a[i]);
		}
		cout<<endl; 
		return 0;
    } 
    for(int i=1;i<=n;i++){
       a[k]=i;//存 
       if(bj[i]==1){
	      continue;//判断是否用过 
       }
       bj[i]=1;
       dfs(k+1);
       //回溯 
       a[k]=0;
       bj[i]=0;
    }
    return 0;
}
int main(){
    cin>>n;
	dfs(1);	
	return 0;
}
2025/1/22 14:13
加载中...