Cod sursa(job #315457)
Utilizator | vaida cosmin sseneca16 | Data | 15 mai 2009 18:01:07 |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.1 kb |
#include<stdio.h>
long n,st[9],k,as,ev,c;
void init(int k)
{
st[k]=0;
}
int succesor(int k)
{
if (st[k]<n)
{
st[k]++;
return 1;
}
return 0;
}
int valid(int k)
{
for (i=1; i<k; i++)
if (st[i]==st[k]) return 0;
return 1;
}
int solutie(int k)
{
return k==n;
}
void afisare(int k)
{
for (i=1; i<=k; i++)
printf("%d ",st[i]);
printf("%d/n");
}
void back(int k)
{
init(k);
while(succesor(k))
{
if (valid(k))
if (solutie(k))
afisare(k);
else back(k+1);
}
}
int main ()
{
f>>n;
back(1);
return 0;
f.close();
g.close();
}
int main(void)
{
freopen("permutari.in","r",stdin);
freopen ("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;
}