Cod sursa(job #862774)
| Utilizator | Data | 22 ianuarie 2013 22:13:28 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
FILE * in = fopen("permutari.in","r");
FILE * out = fopen("permutari.out","w");
int a[1000000], b[10000000];
void back(int k,int len)
{
if(k-1 == len)
{
for(int i = 1; i <= len; i++)
fprintf(out,"%d ",a[i]);
fprintf(out,"\n");
}
else
{
for(int i = 1; i <= len; i++)
if(!b[i])
{
a[k] = i;
b[i] = 1;
back(k+1,len);
b[i] = 0;
}
}
}
int main()
{
int n;
fscanf(in, "%d", &n);
back(1,n);
return 0;
}
