Pagini recente » Cod sursa (job #9402) | Cod sursa (job #2318519) | Cod sursa (job #306342) | Cod sursa (job #2512475) | Cod sursa (job #1590654)
#include <iostream>
#include <fstream>
using namespace std;
ofstream fout ("permutari.out");
struct permutare{
int number;
int solution[9];
bool seen[9];
};
void read_data (permutare &content){
ifstream fin ("permutari.in");
fin >> content.number;
for (int i = 1; i <= content.number; i++)
content.seen[i] = false;
}
void print_sol (permutare content){
for (int i = 1; i <= content.number; i++)
fout << content.solution[i] << " ";
fout << "\n";
}
void backtracking (permutare &content, int k){
if (k > content.number)
print_sol (content);
for (int i = 1; i <= content.number; i++){
if (!content.seen[i]){
content.seen[i] = true;
content.solution[k] = i;
backtracking (content, k+1);
content.seen[i] = false;
}
}
}
int main(){
permutare content;
read_data(content);
backtracking (content, 1);
return 0;
}