Cod sursa(job #793261)
#include <cstdio>
#define LGMAX 8
using namespace std;
FILE *inFile = fopen ("permutari.in", "r");
FILE *outFile = fopen ("permutari.out", "w");
int n;
int sol[LGMAX];
bool viz[LGMAX];
void print()
{
for (int i = 0; i < n; ++i)
fprintf (outFile, "%d ", sol[i]);
fprintf (outFile, "\n");
}
void back(int k)
{
if (k == n)
{
print();
return;
}
for (int v = 1; v <= n; ++v)
if (!viz[v])
{
sol[k] = v;
viz[v] = 1;
back (k + 1);
viz[v] = 0;
}
}
int main()
{
fscanf (inFile, "%d", &n);
back(0);
return 0;
}