Cod sursa(job #793232)
#include <cstdio>
using namespace std;
int N;
int permutation[10];
bool usedNumber[10];
void Read(){
freopen ("permutari.in", "r", stdin);
scanf ("%d", &N);
}
void Print(){
for (int i = 0; i < N; ++ i){
printf ("%d ", permutation[i]);
}
printf ("\n");
}
void Solve (int currentPosition){
if (currentPosition == N){
Print();
return;
}
for (int number = 1; number <= N; ++ number){
if (usedNumber[number] == false){
usedNumber[number] = true;
permutation[currentPosition] = number;
Solve (currentPosition + 1);
usedNumber[number] = false;
}
}
}
int main()
{
freopen ("permutari.out", "w", stdout);
Read();
Solve(0);
return 0;
}