从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。
#include <iostream>
#include <vector>
using namespace std;
void DFS(int n, int state, int num) {
for (int i = 0; i < n; i ++) {
if (state >> i & 1) {
cout << i + 1 << " ";
}
}
cout << endl;
for (int i = num; i <= n; i ++) {
DFS(n, state | (1 << i - 1), i + 1);
}
}
int main() {
int n;
cin >> n;
DFS(n, 0, 1);
return 0;
}