8 条题解

  • 0
    @ 2024-4-10 16:12:53
    #include<iostream>
    #include<algorithm>
    #include<cmath>
    #include<cstdio>
    #include<vector>
    using namespace std;
    const int N=12;
    int used[N];
    int nums[N];
    vector<int> res;
    int n;
    void dfs(int countNum){
    	if(countNum>n){
    		for(auto temp:res) cout<<temp<<" ";
    		cout<<endl;
    		return;
    	}
    	for(int i=0;i<n;i++){
    		if(used[i]) continue;
    //		标记为被使用过
    		used[i]=1;
    		res.push_back(nums[i]);
    		dfs(countNum+1);
    		used[i]=0;
    		res.pop_back();
    	}
    }
    int main(){
    
    	cin>>n;
    	for(int i=0;i<n;i++) nums[i]=i+1;
    	dfs(1);
    	
    	return 0;
    }
    

    信息

    ID
    82
    时间
    2000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    399
    已通过
    155
    上传者