Pagini recente » Cod sursa (job #60180) | Cod sursa (job #1410871) | Cod sursa (job #2958982) | Cod sursa (job #2840221) | Cod sursa (job #1503212)
#include <iostream>
#include <climits>
using namespace std;
bool isValid(int st[], int k) {
for (int i = 1; i < k; i++) {
if (st[i] == st[k]) {
return false;
}
}
return true;
}
void print(int st[], int n) {
for (int i = 1; i <= n; i++) {
cout << st[i] << " ";
}
cout << "\n";
}
int main() {
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
int n, k, st[30];
cin >> n;
k = 1;
st[1] = 0;
while (k > 0) {
st[k]++;
if (st[k] == n + 1) {
k--;
} else {
if (isValid(st, k)) {
k++;
st[k] = 0;
}
if (k == n + 1) {
print(st, n);
k--;
}
}
}
return 0;
}