Pagini recente » Cod sursa (job #2597260) | Cod sursa (job #487952) | Cod sursa (job #1825764) | Cod sursa (job #36444) | Cod sursa (job #738525)
Cod sursa(job #738525)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int st[17],i,j,n,k,p;
void init (int k)
{
st[k]=0;
}
int succesor (int k)
{
if (st[k]<n)
{
st[k]++;
return 1;
}
else return 0;
}
int valid(int k)
{
int ev=1;
for (i=1;i<k-1;i++)
if (st[k]==st[i])
ev=0;
return ev;
}
int solutie (int k)
{
return k==p+1;
}
void tipar()
{
for (i=1;i<=p;i++)
g<<st[i]<<" ";
g<<'\n';
}
int sort(int k)
{
int ok=1;
for (i=2;i<=k;i++)
if (st[i-1]>=st[i])
ok=0;
return ok;
}
void back(int k)
{
if (solutie(k))
tipar();
else
{
init(k);
while (succesor(k))
if (valid(k) && sort(k))
back(k+1);
}
}
int main ()
{
f>>n;
for (p=1;p<=n;p++)
back(1);
return 0;
f.close();
g.close();
}