Cod sursa(job #878247)
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int st[17],n,k,i;
void init()
{
st[k]=st[k-1];
}
int suc()
{
if (st[k]<n)
{st[k]++;
return 1;}
else
return 0;
}
int valid()
{ for (i=1;i<k;i++)
if (st[i]==st[k]||st[i]>st[k])
return 0;
return 1;
}
int tip()
{
for (i=1;i<=k;i++)
g<<st[i]<<" ";
g<<'\n';
}
int sol()
{
if (k<=n)
return 1;
else
return 0;
}
int main()
{
st[0]=0;
f>>n;
k=1;
init();
while (k>0)
{
while (suc())
{
if (valid())
if (sol())
{
tip();
k++;
init();}
}
k--;}
return 0;
}