Pagini recente » Cod sursa (job #1243788) | Cod sursa (job #1929134) | Cod sursa (job #1755578) | Cod sursa (job #898582) | Cod sursa (job #3247316)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int n, x[1000], nrsol;
void presol(int k)
{
nrsol++;
for(int i = 1; i <= k; i++)
g << x[i] << ' ';
g<<'\n';
}
void backt(int k)
{
if(k <=n)
for(int i = x[k - 1] + 1; i <= n; i ++)
{
x[k] = i;
presol(k);
backt(k + 1);
}
}
void bt(int k) ///recursiv
{
k=1;
x[1] = 0;
while(k > 0)
if(x[k] < n)
{
x[k]++;
presol(k);
k++;
x[k] = x[k - 1];
}
else k--;
}
int main()
{
f>>n;
///for(m=1;m<=n;m++)backt();///iterativ
///Var rec
///x[0]=0
bt(1);
// cout<<"S-au generat "<< nrsol<<" solutii.\n";
f.close();
g.close();
return 0;
}