Pagini recente » Cod sursa (job #1627078) | Cod sursa (job #1162992) | Cod sursa (job #2340824) | Cod sursa (job #1924043) | Cod sursa (job #1525931)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAX = 20 ;
int n, v[MAX];
FILE *f=fopen("permutari.out","w");
bool valid(int k);
bool solutie(int k);
void afisare();
void bk(int k);
int main()
{
freopen("permutari.in","r",stdin);
scanf("%d",&n);
bk(1);
fclose(stdin);
fclose(f);
return 0;
}
void bk(int k) {
int i;
for (i = 1; i<=n; i++) {
v[k] = i;
if (valid(k)) {
if (solutie(k)) afisare();
else bk(k+1);
};
}
}
bool valid(int k) {
for (int i = 1; i < k ; i++)
if (v[k]==v[i]) return false;
return true ;
}
bool solutie(int k) {
return n==k ;
}
void afisare() {
for(int i=1;i<=n;i++)
fprintf(f,"%d ",v[i]);
fprintf(f,"\n");
}