Pagini recente » Istoria paginii utilizator/ionutchirtes | Cod sursa (job #2471301) | Cod sursa (job #1581939) | Istoria paginii runda/simulareoni2008_9/clasament | Cod sursa (job #3295732)
#include <bits/stdc++.h>
using namespace std;
void SubmultimiRecu(vector<vector<int>> &res, vector<int> &vect, int n, int start) {
res.push_back(vect); // fiecare prefix valid e o submultime
for (int i = start; i <= n; i++) {
vect.push_back(i);
SubmultimiRecu(res, vect, n, i + 1);
vect.pop_back();
}
}
vector<vector<int>> Submultimi(int n) {
vector<vector<int>> res;
vector<int> temp;
SubmultimiRecu(res, temp, n, 1);
return res;
}
int main() {
freopen("submultimi.in", "r", stdin);
freopen("submultimi.out", "w", stdout);
int n;
cin >> n;
vector<vector<int>> res = Submultimi(n);
sort(res.begin(), res.end());
for (vector<int> it : res) {
for(int i = 0; i < it.size(); i++) {
cout << it[i] << " ";
}
cout << endl;
}
return 0;
}