Pagini recente » Cod sursa (job #2384900) | Cod sursa (job #2957077) | Cod sursa (job #1068676) | Cod sursa (job #1091265) | Cod sursa (job #2066174)
#include <fstream>
std :: ifstream cin("permutari.in");
std :: ofstream cout ("permutari.out");
#define NMAX 8
int n;
int result[NMAX], checker[NMAX];
/*
backtracking(int k)
1) check => show the solution
2) for(int i = 1; i <= length; i++){
v[k] = set()
backtracking(k+1);
v[k] = unset();
}
*/
void permutari(int tmp, int n){
if(tmp - 1 == n){
for(int i = 1; i <= n; i++){
cout << result[i] << " ";
}
cout << "\n";
}else{
for(int i = 1; i <= n; i++){
if(checker[i] != 1){
checker[i] = 1;
result[tmp] = i;
permutari(tmp + 1, n);
checker[i] = 0;
}
}
}
}
int main () {
cin >> n;
permutari(1, n);
return 0;
}
/*#include <fstream>
#include <vector>
#include <algorithm>
std :: ifstream cin("permutari.in");
std :: ofstream cout ("permutari.out");
int n;
int main() {
cin >> n;
std:: vector<int> result;
for(int i = 1; i <= n; result.push_back(i++));
do{
for(int i = 0; i < n; i++){
cout << result[i] << " ";
}
cout << "\n";
}while(next_permutation(result.begin(), result.end()));
return 0;
}*/