5 solutions

  • 3
    @ 2024-8-8 13:44:16
    #include<bits/stdc++.h>
    using namespace std;
    const int N=30;
    int ans[N],n,m;
    bool st[N];
    void dfs(int u,int x)
    {
    	if(u==m+1)
    	{
    		for(int i=1;i<=m;i++)
            {
    			cout<<ans[i]<<" ";
            }
    		cout<<endl;
    		return;
    	}
    	for(int i=x;i<=n;i++)
        {
    		if(!st[i])
    		{
    			st[i]=1;
    			ans[u]=i;
    			dfs(u+1,i+1);
    			st[i]=0;
    		}
        }
    }
    int main()
    {
    	cin>>n>>m;
    	dfs(1,1);
    	return 0;
    }
    
    • 1
      @ 2026-1-19 18:15:48
      #include<bits/stdc++.h>
      using namespace std;
      const int N=30;
      int ans[N],n,m;
      void dfs(int u,int x)
      {
      	if(u==m+1)
      	{
      		for(int i=1;i<=m;i++)
              {
      			cout<<ans[i]<<" ";
              }
      		cout<<endl;
      		return;
      	}
      	for(int i=x;i<=n;i++)
          {
      		ans[u]=i;
      		dfs(u+1,i+1);
          }
      }
      int main()
      {
      	cin>>n>>m;
      	dfs(1,1);
      	return 0;
      }
      
      • 1
        @ 2026-1-19 18:11:36
        #include<bits/stdc++.h>
        using namespace std;
        int n,m;
        vector<vector<int>> v;
        int main()
        {
            cin>>n>>m;
            for(int i=1;i<1<<n;i++)
            {
                bitset<32> a(i);
                if(a.count()==m)
                {
                    vector<int> t;
                    for(int j=0;j<n;j++)
                    {
                        if(a[j]==1)
                        {
                            t.push_back(j+1);
                        }
                    }
                    v.push_back(t);
                }
            }
            sort(v.begin(),v.end());
            for(auto i:v)
            {
                for(auto k:i)
                {
                    cout<<k<<" ";
                }
                cout<<endl;
            }
            return 0;
        }
        
        • 1
          @ 2025-7-10 16:15:13
          #include<bits/stdc++.h>
          using namespace std;
          const int N=30;
          int n,m;
          int a[N];
          void dfs()
          {
              for(int i=1;i<=m;i++)
              {
                  cout<<a[i]<<" ";
              }
              cout<<endl;
              int cnt=n,q=0;
              for(int i=m;i>=1;i--)
              {
                  if(a[i]!=cnt)
                  {
                      q=1;
                      break;
                  }
                  cnt--;
              }
              if(q==0)
              {
                  return ;
              }
              int s=0;
              for(int i=m;i>=1;i--)
              {
                  if(a[i]!=n-(m-i))
                  {
                      a[i]++;
                      s=i;
                      break;
                  }
              }
              for(int i=s+1;i<=m;i++)
              {
                  a[i]=a[i-1]+1;
              }
              dfs();
          }
          int main()
          {
              cin>>n>>m;
              for(int i=1;i<=m;i++)
              {
                  a[i]=i;
              }
              dfs();
              return 0;
          }
          

          我靠这代码在季总那里拿了瓶脉动!!!

          • -3
            @ 2024-7-9 11:29:21
            #include<bits/stdc++.h>
            using namespace std;
            const int N=30;
            int ans[N],n,m;
            bool st[N];
            void dfs(int u,int x)
            {
            	if(u==m+1)
            	{
            		for(int i=1;i<=m;i++)
            			cout<<ans[i]<<" ";
            		cout<<endl;
            		return 																												;
            	}
            	for(int i=x;i<=n;i++)
            		if(!st[i])
            		{
            			st[i]=1;
            			ans[u]=i;
            			dfs(u+1,i+1);
            			st[i]=0;
            		}
            }
            int main()
            {
            	cin>>n>>m;
            	dfs(1,1);
            	return 0;
            }
            
            • 1

            Information

            ID
            232
            Time
            1000ms
            Memory
            256MiB
            Difficulty
            3
            Tags
            # Submissions
            76
            Accepted
            18
            Uploaded By