1 solutions

  • 1
    @ 2025-8-18 16:00:48

    样例就是答案

    #include <bits/stdc++.h>
    using namespace std;
    int n,a[11],vis[11],m[11];
    void dfs(int dep);
    int main(){
    	cin>>n;
    	for(int i = 1;i<=n;i++)cin>>a[i];
    	dfs(1);
    	return 0;
    }
    void dfs(int dep){
    	if(dep>n){
    		for(int i = 1;i<=n;i++)printf("%d ",m[i]);
    		printf("\n");
    		return;
    	}
    	for(int i = 1;i<=n;i++){
    		if(!vis[i]){
    			vis[i] = 1;
    			m[dep] = a[i];
    			dfs(dep+1);
    			vis[i] = 0;
    		}
    	}
    }
    

    Information

    ID
    752
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    (None)
    # Submissions
    7
    Accepted
    5
    Uploaded By