国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

子集生成

2019-11-08 02:48:10
字體:
供稿:網(wǎng)友
1、增量構(gòu)造法注意:在枚舉子集的增量法中,需要使用定序的技巧,避免同一個集合枚舉兩次,比如{1,2}和{2,1}。實(shí)例:
#include <iostream>using namespace std;void PRint_subset(int n, int * A, int cur){    for(int i = 0; i < cur; i++)            //只要其中有數(shù),就需要輸出        cout<<A[i];    cout<<endl;    int s = cur ? A[cur - 1] + 1 : 0;     //如果cur不等于零,將由已有序列中的最大的加一開始遍歷    for(int i = s; i < n; i++){        A[cur] = i;        print_subset(n, A, cur + 1);    }}int main(){    int A[1000];    int n;    cin>>n;    for(int i = 0; i < n; i++){        cin>>A[i];    }    print_subset(n, A, 0);    return 0;}2、位向量法
#include <iostream>using namespace std;void print_subset(int n, int * B, int cur){    if(cur == n){        for(int i = 0; i < cur; i++){            if(B[i]) cout<<i;        }        cout<<endl;        return;    }    B[cur] = 1;                          //此位存在標(biāo)1    print_subset(n, B, cur + 1);    B[cur] = 0;                          //此位不存在標(biāo)0    print_subset(n, B, cur + 1);}int main(){    int n;    cin>>n;    int B[1000] = {0};    print_subset(n, B, 0);    return 0;}3、二進(jìn)制法與按位輸出差不多
#include <stdio.h>void print_subset(int n, int s){    for(int i = 0; i < n; i++){        if(s & (1<<i)) printf("%d", i);    }    printf("/n");}int main(){    int n;    scanf("%d", &n);    for(int i = 0; i < (1<<n); i++){        print_subset(n, i);    }    return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲水县| 常宁市| 柳州市| 阿巴嘎旗| 白河县| 富川| 东乡县| 沐川县| 韶关市| 平安县| 宁晋县| 昭觉县| 平阴县| 神农架林区| 常州市| 本溪市| 西宁市| 平安县| 拜城县| 定州市| 平阳县| 沙雅县| 神农架林区| 朝阳市| 寿宁县| 瑞丽市| 卓资县| 兰西县| 安康市| 永安市| 三原县| 喀什市| 吉木萨尔县| 怀宁县| 沾益县| 呈贡县| 陵水| 吉木乃县| 翁牛特旗| 香格里拉县| 温州市|