Pagini recente » Cod sursa (job #1642001) | Monitorul de evaluare | Borderou de evaluare (job #2243806) | Cod sursa (job #149641) | Cod sursa (job #1628343)
#include<iostream>
using namespace std;
int k,st[100],n;
void init()
{
st[k]=0;
}
int succesor()
{
if(st[k]<n)
{
st[k]++;
return 1;
}
else return 0;
}
int valid()
{
int i;
for(i=1;i<=k-1;i++)
{
if(st[i]==st[k]) return 0;
}
return 1;
}
int sol()
{
return (k==n);
}
int tipar()
{
int i;
for(i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void back()
{
int as,ev;
k=1;
init();
while(k>0)
{
do
{
as=succesor();
ev=valid();
} while(as==1 && ev==0);
if(as==1)
{
if(sol()==1) tipar();
else
{
k++;
init();
}
}
else k--;
}
}
int main()
{
cin>>n;
back();
return 0;
}