Pagini recente » Cod sursa (job #2678174) | Cod sursa (job #1781015) | Cod sursa (job #1011348) | Cod sursa (job #918871) | Cod sursa (job #2222347)
#include <iostream>
#include <fstream>
#define MAX 9
using namespace std;
void afisare (int n, int arr[MAX],ofstream& out){
for (int i = 0 ;i != n ; i++){
out<<arr[i]<<" ";
}
out<<endl;
}
int verificare(int k,int n, int arr[MAX]){
for(int i = 0; i!= n; i++){
if (arr[i] == k)return 1;
}
return 0;
}
void backtrack(int n, int ord, int arr[MAX],ofstream& out){
if(ord == n){
afisare(n,arr,out);
return;
}
for(int i = 1; i <= n; i++){
if(verificare(i,ord,arr))continue;
arr[ord] = i;
backtrack(n,ord+1,arr,out);
}
}
int main()
{
ifstream in;
in.open("permutari.in");
ofstream out;
out.open("permutari.out");
int nr, arr[MAX];
in >> nr;
backtrack(nr,0,arr,out);
return 0;
}