3 条题解

  • 2
    @ 2024-1-26 15:45:01

    递归实现指数型枚举

    #include <queue>
    #include <math.h>
    #include <stack>
    #include <vector>
    #include <stdio.h>
    #include <iostream>
    #include <vector>
    #include <iomanip>
    #include <string.h>
    #include<cstring>
    #include <algorithm>
    using namespace std;
    #define LL long long
    const int N = 1e2 + 10;
    const int INF = 0x3f3f3f3f;
    using namespace std;
    int n , a[N]; 
    void f(int pre ,int step)
    {
    	if(step > 0)
    	{
    		for(int i = 0 ;i < step ; i++)
    		{
    			cout << a[i] <<" ";
    		}
    		cout << endl ;
    	}
    	for(int i = pre + 1 ;i <= n ; i++ )
    	{
    		a[step] = i ;
    		f(i , step + 1);
    	}
    }
    int main()
    {
    	cin >> n ;
    	f( 0 , 0 );
    	return 0;
    }
    
    • 1
      @ 2025-2-11 19:05:41

      蒟蒻の题解

      这道题大部分人第一眼看上去会觉得难,为什么呢?因为他这里的题意太过于《抽象》,我们看数据可能会好懂一些。 其实我们仔细看数据的话,一些学过排列组合的同学就会说了:

      这不就是几个排列组合叠加在一起嘛。

      嗯,是的,这道题你仔细看数据就会发现,那么恭喜你,你已经成功 想出了这道题的基本思路,这道题只需要用dfs去模拟排列组合的过程,然后再多来几次就行啦。


      没错,就是这么“简单”

      #include<bits/stdc++.h>
      using namespace std;
      int n,m;
      int b[20];
      void dfs(int s,int last){
      	if(s>m){
      		for(int i=1;i<=m;i++)
      			cout<<b[i]<<" ";
      		cout<<endl;
      		return;
      	}for(int i=last+1;i<=n;i++){
      			b[s]=i;
      			dfs(s+1,i);
      	}
      }
      int main(){
      	cin>>n;
      	for(m=1;m<=n;m++){
      		dfs(1,0);
      	}
      	return 0;
      }
      

      bye

      • 0
        @ 2025-4-19 21:59:42

        #include #include <math.h> #include #include #include <stdio.h> #include #include #include #include <string.h> #include #include using namespace std; #define LL long long const int N = 1e2 + 10; const int INF = 0x3f3f3f3f; using namespace std; int n , a[N]; void f(int pre ,int step) { if(step > 0) { for(int i = 0 ;i < step ; i++) { cout << a[i] <<" "; } cout << endl ; } for(int i = pre + 1 ;i <= n ; i++ ) { a[step] = i ; f(i , step + 1); } } int main() { cin >> n ; f( 0 , 0 ); return 0; } 1.

        • 1

        信息

        ID
        5
        时间
        1000ms
        内存
        128MiB
        难度
        4
        标签
        递交数
        655
        已通过
        313
        上传者