#include <iostream>
#include <vector>
using namespace std;
template <typename T>
void generate_power_set(const vector<T>& S) {
for (int i = 1; i < (1 << S.size()); i++) {
int x = i;
for (int j = 0; x >> j; j++) {
if ((x >> j) & 1) {
cout << S[j];
if (x >> (j + 1)) {
cout << ',';
}
}
}
cout << endl;
}
}
int main(int argc, char *argv[]) {
srand(time(nullptr));
vector<char> S;
if (argc >= 2) {
for (int i = 1; i < argc; i++) {
S.emplace_back(argv[i][0]);
}
} else {
S.resize(rand() % 10 + 1);
for (int i = 0; i < S.size(); i++) {
S[i] = 'A' + i;
}
}
generate_power_set(S);
return 0;
}
EPI 5.5 THE POWER SET
最新推荐文章于 2024-05-02 10:44:35 发布