读书人

结合数的生成(DFS)

发布时间: 2012-11-08 08:48:12 作者: rapoo

组合数的生成—FS)

#include <iostream>#include <cstdio>#define maxn 10000using namespace std;int b[maxn];int r, n;void dfs(int lev, int p){    int i, j;    if(lev > r){        for(i = 1; i <= r; i++){            printf("%d ", b[i]);        }        printf("\n");        return ;    }    for(j = p; j <= n; j++){        b[lev] = j;        dfs(lev+1, j+1);    }    return ;}int main(){    while(scanf("%d%d", &n, &r)!=EOF){        dfs(1, 1);    }    return 0;}

读书人网 >编程

热点推荐