Cod sursa(job #727558)
| Utilizator | Data | 28 martie 2012 08:44:29 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <cstdio>
FILE * iFile;
FILE * oFile;
int a[9], b[9], n;
void back(int k)
{
int i;
if(k-1 == n)
{
for(i=1;i<=n;i++)
fprintf(oFile, "%d ", a[i]);
fprintf(oFile, "\n");
} else {
for(i=1;i<=n;i++)
{
if(!b[i])
{
a[k] = i;
b[i] = 1;
back(k+1);
b[i] = 0;
}
}
}
}
int main()
{
iFile = fopen("permutari.in", "r");
oFile = fopen("permutari.out", "w");
fscanf(iFile, "%d", &n);
back(1);
fclose(iFile);
fclose(oFile);
return 0;
}
