Pagini recente » Cod sursa (job #571780) | Cod sursa (job #2959066) | Cod sursa (job #886027) | Cod sursa (job #2720332) | Cod sursa (job #1590652)
#include <iostream>
#include <fstream>
using namespace std;
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){
ofstream fout ("permutari.out");
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;
}