Pagini recente » Cod sursa (job #1137338) | Cod sursa (job #2762789) | Cod sursa (job #561455) | Infoarena Monthly 2012 - Runda 2, Clasament | Cod sursa (job #1676794)
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int sol[10];
void printSol(int n) {
for (int i = 0; i < n; i++) {
g << sol[i] << " ";
}
g << endl;
}
void back(int k, int n) {
if (k == n) {
printSol(n);
return;
}
for (int i = 1; i <= n; i++) {
// Cauta pe i in solutie
bool found = false;
for (int j = 0; j < k; j++) if (sol[j] == i) found = true;
// Daca nu l-am gasit, il punem acum.
if (found == false) {
sol[k] = i;
back(k+1, n);
}
}
}
int main()
{
int n;
f >> n;
back(0, n);
f.close();
g.close();
return 0;
}