Pagini recente » Cod sursa (job #325057) | Cod sursa (job #2504113) | Diferente pentru utilizator/gavrilavlad intre reviziile 142 si 143 | Cod sursa (job #145642)
Cod sursa(job #145642)
#include <stdio.h>
int s[20],n;
int valid(int k)
{
int i;
for(i=1;i<k;i++)
if(s[k]==s[i]) return 0;
return 1;
}
void solutie()
{
int i;
for(i=1;i<=n;i++)
printf("%d ",s[i]);
printf("\n");
}
void btk()
{
int k,up;
k=1;
s[k]=0;
while(k)
{
up=0;
while(!up && s[k]<n)
{
s[k]++;
if(valid(k)) up=1;
}
if (up)
{
if(k==n) solutie();
else { k++; s[k]=0; }
}
else k--;
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
btk();
fclose(stdout);
}