• 一般组合


    输入n个数,从中选出m个数可构成集合,输出所有这样的集合

    输入

    4 3

    1 2 3 4

    输出

    1 2 3

    1 2 4

    1 3 4

    2 3 4

    #include<cstdio>
    #include<cstring>
    using namespace std;
    const int maxn = 100;
    
    int n,m;
    int rcd[maxn],num[maxn],vis[maxn];
    
    int read_input(){
    
       if(scanf("%d %d",&n,&m)==EOF)
            return 0;
        for(int i=0;i<n;i++)
            scanf("%d",&num[i]);
        return 1;
    }
    
    void select_combination(int l,int p){
        if(l==m){
            for(int i=0;i<m;i++){
                printf("%d",rcd[i]);
            if(i<m-1)
                printf(" ");
            }
            printf("
    ");
            return ;
        }
        for(int i=p;i<n;i++){
            rcd[l]=num[i];
            select_combination(l+1,i+1);
    
        }
    }
    int main() {
        while(read_input()){
    
            select_combination(0,0);
    
        }
    
        return 0;
    }
    

      

    Knowing others is intelligence; Knowing yourself is true wisdom
  • 相关阅读:
    OC准备知识
    文件操作
    双向链表
    单链表(Single Linked List)
    动态分配内存补充 realloc
    git心得一
    git的工作原理
    git:团队开发的流程
    git操作流程
    js:有关属性
  • 原文地址:https://www.cnblogs.com/huicpc0212/p/4185981.html
Copyright © 2020-2023  润新知