好未来笔试

对于固定数组0,1,2,3,4,5,6,7,8,9

输入布尔值0,1,1,1,1,1,1,1,1,0

0表示可选 1表示必选

#include<bits/stdc++.h>
using namespace std;

int a[10];
vector<vector<char> >vec;

void process(int i,vector<char> v){
    if(i ==10){vec.push_back(v);return ;}
    if(a[i] == 0){
        process(i+1,v);
    }
     v.push_back((char)('0'+i));
     process(i+1,v);
}

int main()
{
    for(int i = 0;i<10;i++){
        int tmp;
        cin>>tmp;
        a[i] = tmp;
    }
    vector<char> v;
    process(0,v);
    sort(vec.begin(),vec.end());
    for(int i = 0;i<vec.size();i++){
        for(int j = 0;j<vec[i].size();j++){
            cout<<vec[i][j];
        }
        cout<<endl;
    }
}

猜你喜欢

转载自www.cnblogs.com/lyf-sunicey/p/9550550.html