4 条题解

  • 0
    @ 2024-8-9 14:49:44

    #include using namespace std; const int N =105; int n; int a[N]; bool used[N]; void dfs(int dep){ if(dep > n) { for(int i=1; i<=n;i++) { cout<<a[i]<<" "; } cout<<endl; return; } for(int i =1;i<=n;i++) { if(used[i]) continue; used[i] =1; a[dep]=i; dfs(dep+1); used[i]=0; } } int main() {

    cin>>n;
    dfs(1);
    return 0;
    

    }

    • -1
      @ 2024-7-14 10:58:10

      #include<bits/stdc++.h> using namespace std; const int N=9+5; int a[N];//放置数的数组 int vis[N];//检查数有没有放置 int n; void dfs(int dep){ if(depn+1){//如果放完 for(int i=1;i<=n;i++){ cout<<a[i]<<" \n"[in];//输出 } return;//结束 } for(int i=1;i<=n;i++){ if(!vis[i]){//如果没有放置过 a[dep]=i;//放置 vis[i]=1;//已经放置 dfs(dep+1); vis[i]=0;//没有放置 } } } int main(){ cin>>n; dfs(1);//初始 } //不要直接抄

      • -2
        @ 2024-8-9 14:48:34
        #include<bits/stdc++.h>
        using namespace std;
        
        const int N = 105;
        int n;
        int a[N];
        bool used[N];
        
        void dfs(int dep)
        {
        	if(dep > n)
        	{
        		for(int i = 1; i <= n; i++)
        		{
        			cout << a[i] << " ";
        		}
        		cout << endl;
        		return;
        	}
        	for(int i = 1; i <= n; i++)
        	{
        		if(used[i]) continue;
        		a[dep] = i;
        		used[i] = 1;
        		dfs(dep + 1);
        		used[i] = 0;
        		
        	}
        }
        
        int main()
        {
        	cin >> n;
        	dfs(1);
        	return 0;
        }
        • -4
          @ 2024-8-9 14:45:50
          #include<iostream>
          using namespace std;
          const int N =105;
          int n;
          int a[N];
          bool used[N];
          void dfs(int dep){
          	if(dep > n) {
          			for(int i=1; i<=n;i++) {
          				cout<<a[i]<<" ";
          			}
          			cout<<endl;
          			return;
          	}
          	for(int i =1;i<=n;i++) {
          		if(used[i]) continue;
          		used[i] =1;
          		a[dep]=i;
          		dfs(dep+1);
          		used[i]=0;
          	}
          }
          int main()
          {
          	
          	cin>>n;
          	dfs(1);
          	点赞后抄
          }
          
          • 1

          信息

          ID
          370
          时间
          1000ms
          内存
          256MiB
          难度
          5
          标签
          (无)
          递交数
          291
          已通过
          115
          上传者