Pagini recente » Borderou de evaluare (job #173891) | Borderou de evaluare (job #1551246) | Borderou de evaluare (job #3201056) | Borderou de evaluare (job #52016) | Cod sursa (job #806219)
Cod sursa(job #806219)
#include <fstream>
using namespace std;
int st[17], k, i, n;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
void init()
{
st[k] = -1;
}
bool succesor()
{
if (st[k] < 1)
{
st[k]++;
return true;
}
return false;
}
bool valid()
{
return true;
}
bool solutie()
{
return (k == n);
}
void tipar()
{
bool smeq = false;
for (i=1;i<=n;i++)
if (st[i])
{
out<<i<<" ";
smeq = true;
}
if (smeq) out<<endl;
}
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;
}