Pagini recente » Cod sursa (job #3266666) | Cod sursa (job #671205) | Borderou de evaluare (job #1089968) | Cod sursa (job #741905) | Cod sursa (job #806220)
Cod sursa(job #806220)
#include <fstream>
using namespace std;
int st[17], k, i, n;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
void init()
{
st[k] = -1;
}
short int succesor()
{
if (st[k] < 1)
{
st[k]++;
return 1;
}
return 0;
}
short int valid()
{
return 1;
}
short int solutie()
{
return (k == n);
}
void tipar()
{
short int smeq = 0;
for (i=1;i<=n;i++)
if (st[i])
{
out<<i<<" ";
smeq = 1;
}
if (smeq) out<<"\n";
}
void bkt()
{
int as;
k=0;
while (k>=0)
{
do
{}
while ((as=succesor()) && (!valid()));
if (as)
if (solutie())
tipar();
else
{
k++;
init();
}
else
k--;
}
}
int main()
{
in>>n;
bkt();
return 0;
}