5 条题解

  • 4
    @ 2023-5-2 19:16:03
    #include <iostream>
    #include <string.h>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    #define LL long long
    int n , a[15];
    bool l[15];
    
    inline void print()
    {
    for (int i = 0 ; i < n ; ++i)
    {
    putchar(a[i] + 48);
    putchar(32);
    }
    putchar(10);
    }
    
    void f(int m)
    {
    if (m == n)
    {
    print();
    return;
    }
    for (int i = 1 ; i <= n ; ++i)
    {
    if (l[i])
    continue;
    l[i] = 1;
    a[m] = i;
    f(m + 1);
    l[i] = 0;
    }
    return;
    }
    
    int main()
    {
    memset(l , 0 , sizeof(l));
    cin >> n;
    f(0);
    return 0;
    }
    
    
  • 1
    @ 2026-4-11 15:23:26

    虽然只有一种味道,但真的很 鲜~

    葵花籽味

    #include <bits/stdc++.h>
    using namespace std;
    const int SB=1e6+10;
    const int INF=0x3f3f3f3f;
    int n;
    int a[15]={};
    bool vis[15]={};
    void f(int x){
        if(x==n+1){
            for(int i=1;i<=n;i++){
                cout<<a[i]<<" ";
            }
            cout<<endl;
            return;
        }
        for(int i=1;i<=n;i++){
            if(vis[i]==0){
                vis[i]=1;
                a[x]=i;
                f(x+1);
                vis[i]=0;
            }
        }
    }
    int main ()
    {
        system("color 2");
        cin>>n;
        f(1);
        return 0;
    }
    
    • 0
      @ 2026-7-18 9:37:16

      %100AC

      #include <bits/stdc++.h>

      using namespace std;

      int n,a[20],flag[20]={};

      void f(int x){

      if(x==n+1){
      
      	for(int i=1;i<=n;i++){  //输出
      
      		cout<<a[i]<<" ";
        
      	}
      	cout<<endl;
      
      	return;
      
      }
      
      for(int i=1;i<=n;i++){  //从小到大
      
      	if(flag[i]==0){
      
      	a[x]=i;
      
      	flag[i]=1;
      
      	f(x+1);
      
      	flag[i]=0; //回溯
      
      }
      

      }

      }

      int main(){

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

      }

      • 0
        @ 2025-12-13 22:48:16

        亲测AC,不对我吃

        #include <bits/stdc++.h>
        using namespace std;
        const int N=1e5+10;
        int a,n[N];
        int vis[N];
        void f(int id){
        	if(id>a){
        		for(int i=1;i<=a;i++){
        			cout<<n[i]<<' ';
        		}
        		cout<<endl;
        		return ;
        	}
        	for(int i=1;i<=a;i++){
        		if(vis[i]==1){
        			continue;
        		}
        		n[id]=i;
        		vis[i]=1;
        		f(id+1);
        		vis[i]=0;
        	}
        }
        int main(){
        	cin>>a;
        	f(1);
        	return 0;
        }
        
        • -1
          @ 2023-4-1 19:58:06
          #include <iostream>
          #include <string.h>
          #include <cstdio>
          #include <algorithm>
          using namespace std;
          #define LL long long
          int n , a[15];
          bool l[15];
           
          inline void print()
          {
          	for (int i = 0 ; i < n ; ++i)
          	{
          		putchar(a[i] + 48);
          		putchar(32);
          	} 
          	putchar(10);
          }
           
          void f(int m)
          {
          	if (m == n)
          	{
          		print();
          		return;
          	}
          	for (int i = 1 ; i <= n ; ++i)
          	{
          		if (l[i])
          			continue;
          		l[i] = 1;
          		a[m] = i;
          		f(m + 1);
          		l[i] = 0;
          	}
          	return;
          }
           
          int main()
          {
          	memset(l , 0 , sizeof(l));
          	cin >> n;
          	f(0);
          	return 0;
          }
          
          • 1

          信息

          ID
          7
          时间
          1000ms
          内存
          128MiB
          难度
          2
          标签
          递交数
          500
          已通过
          307
          上传者