Pagini recente » Cod sursa (job #3244600) | Cod sursa (job #2735963) | Cod sursa (job #880439) | Cod sursa (job #1511024) | Cod sursa (job #2152258)
#include <fstream>
#define MAXN 12
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int N, fr[MAXN], x[MAXN];
void Read() {
fin >> N;
}
inline int cond(int k) {
if (fr[x[k]])
return 0;
return 1;
}
inline void Afisare() {
for (int i = 1; i <= N; i++)
fout << x[i] << " ";
fout << "\n";
}
void bkt() {
int k = 1;
while (k) {
if (x[k] < N) {
x[k]++;
if (cond(k)) {
if (k == N) {
Afisare();
}
else if (k < N) {
fr[x[k]]++;
k++;
x[k] = 0;
}
}
}
else {
k--;
fr[x[k]]--;
}
}
}
int main () {
Read();
bkt();
fin.close(); fout.close(); return 0;
}