Pagini recente » Statistici Madalina Nicolae (Madalina_Nic) | Cod sursa (job #956318) | Cod sursa (job #546898) | Cod sursa (job #1460532) | Cod sursa (job #1867703)
#include <fstream>
#include <vector>
using namespace std;
void PrintVector(const vector<int> &vec, int n, ofstream &f)
{
for (int i = 0; i < n; ++i) {
f << vec[i] << " ";
}
f << "\n";
}
void Back(int lev, vector<int> &st, vector<bool> &used, ofstream &f)
{
for (unsigned i = (lev == 0) ? 0 : st[lev - 1]; i < used.size(); ++i) {
if (!used[i]) {
st[lev] = i + 1;
used[i] = true;
PrintVector(st, lev + 1, f);
if (lev + 1 < st.size()) {
Back(lev + 1, st, used, f);
}
used[i] = false;
}
}
}
void Sub(int n, ofstream &f)
{
vector<int> st(n, 0);
vector<bool> used(n, false);
Back(0, st, used, f);
}
int main()
{
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
int n;
fin >> n;
Sub(n, fout);
return 0;
}