zoukankan      html  css  js  c++  java
  • 组合数生成算法

    #include <cstdio>
    #include <cstring>
    #include <vector>
    using namespace std;
    
    
    bool next_combination(vector<int>& vec,int n)
    {
        int k = vec.size() - 1;
        for(;k>=0;k--){
            if(vec[k]<n + k - vec.size() + 1) break;
        }
        if(k<0) return 0;
        vec[k]++;
        for(int i=k+1;i<vec.size();i++)
        {
            vec[k+1] = vec[k]+1;
        }
        return 1;
    }
    
    int main(){
        int n,k;
        scanf("%d%d",&n,&k);
        vector<int> vec,vec2,dir;
        for(int i = 1;i<=k;i++){
            vec.push_back(i);
        }
        do{
            for(int i=0;i<vec.size();i++){
                printf("%d ",vec[i]);
            }
            printf("
    ");
        }
        while(next_combination(vec,n));
    }
  • 相关阅读:
    边框
    文本样式
    框架
    表格
    列表
    标签
    常用类--包装类
    常见类 --Object
    日志
    异常
  • 原文地址:https://www.cnblogs.com/zhjou/p/4758831.html
Copyright © 2011-2022 走看看