Pagini recente » Cod sursa (job #2758011) | Cod sursa (job #1419765) | Cod sursa (job #2593030) | Cod sursa (job #1243538) | Cod sursa (job #317402)
Cod sursa(job #317402)
#include<stdio.h>
using namespace std;
//fstream f("permutari.in",ios::in),g("permutari.out",ios::out);
int st[100],n,k;
void tipar(){for(int i=1;i<=k;i++)printf("%d ",st[i]);printf("\n");}
void init(){st[k]=0;}
int am_succ(){if(st[k]<n){st[k]++;return 1;}return 0;}
int e_valid()
{
int i;
for(i=1;i<k;i++)
if(st[i]==st[k])return 0;
return 1;
}
int sol(){return k==n;}
void bkt()
{
int as;
k=1;init();
while(k>0)
{
do {} while( (as=am_succ()) && !e_valid() );
if(as)
{
if(sol())tipar();
else {k++;init();}
}
else k--;
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
//f>>n;
//f.close();
bkt();
//g.close();
return 0;
}