Cod sursa(job #170416)
Utilizator | Data | 2 aprilie 2008 18:58:43 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <stdio.h>
FILE *f,*g;
int a[10],n,viz[10];
void afis()
{ int i;
for (i=0;i<n;i++)
fprintf(g,"%d ",a[i]);
fprintf(g,"\n");
}
void back(int k)
{int i;
if (k==n) afis();
else
{
for (i=1;i<=n;i++)
if (viz[i]==0)
{
a[k]=i;
viz[i]=1;
back(k+1);
viz[i]=0;
}
}
}
int main()
{
f=fopen("perm.in","rt");
g=fopen("perm.out","wt");
fscanf(f,"%d\n",&n);
back(0);
fclose(f);
fclose(g);
return 0;
}