Cod sursa(job #641218)
#include <iostream>
#include <fstream>
using namespace std;
int st[100], i, k, n;
ofstream g("permutari.out");
int tipar() {
int j;
for(j=1; j<=n; j++) {
g<<st[j]<<" ";
}
g<<"\n";
return 0;
}
int valid(int p) {
for(i=1; i<p; i++) {
if(st[i]==st[p]) {
return 0;
}
}
return 1;
}
int bktr(int p) {
int i;
if(p>n) {
tipar();
}
else {
for(i=1; i<=n; i++) {
st[p]=i;
if(valid(p)==1) {
bktr(p+1);
}
}
}
return 0;
}
int main() {
ifstream f("permutari.in");
f>>n;
bktr(1);
f.close();
g.close();
return 0;
}