Pagini recente » Cod sursa (job #2790977) | Cod sursa (job #1477417) | Cod sursa (job #2404631) | Cod sursa (job #2642999) | Cod sursa (job #169352)
Cod sursa(job #169352)
#include<stdio.h>
#define input "permutari.in"
#define output "permutari.out"
#define dim 20
void back();
void init();
void succ();
int valid();
int solutie();
void tipar();
int a[dim];
int n,p,k,st[dim],i,nr=0;
FILE *in, *out;
int main ()
{
in = fopen (input, "r");
out = fopen (output, "w");
fscanf(in, "%d", &n);
k=1;
init();
back ();
return 0;
}
void init()
{
st[k] =0;
}
void succ()
{
st[k]++;
}
int valid ()
{
for(i=1;i<k;i++)
if(st[i]==st[k])
return 0;
return 1;
}
int solutie()
{
if(k==n)
return 1;
return 0;
}
void tipar()
{
for(i=1;i<=n;i++)
fprintf(out, "%d ", st[i]);
fprintf(out, "\n");
}
void back()
{ while(k>0)
{
while(st[k]<n)
{
succ();
if (valid())
if(solutie())
tipar();
else
{
k++;
init();
}
}
k--;
}
}