Pagini recente » Cod sursa (job #2399876) | Cod sursa (job #2984170) | Cod sursa (job #2840853) | Cod sursa (job #3181549) | Cod sursa (job #2420184)
#include <iostream>
#include <vector>
using namespace std;
int N;
vector<vector<int> > result;
vector<int> aranjament;
bool check(int elements) {
for (int i = 0; i < elements; ++i) {
if (aranjament[i] == aranjament[elements]) {
return false;
}
}
return true;
}
void back(int elements) {
if (elements < N) {
for (int i = 1; i <= N; ++i) {
aranjament[elements] = i;
if (check(elements)) {
back(elements + 1);
}
}
}
else {
result.push_back(aranjament);
}
}
int main() {
cin >> N;
aranjament.resize(N);
back(0);
for (int i = 0; i < result.size(); i++) {
for (int j = 0; j < result[i].size(); j++) {
cout << result[i][j] << " ";
flush(cout);
}
cout << endl;
flush(cout);
}
}