Pagini recente » Cod sursa (job #557885) | Cod sursa (job #2390073) | Cod sursa (job #1846556) | Cod sursa (job #652931) | Cod sursa (job #2379250)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("permutari.in");
ofstream fout ("permutari.out");
int n;
int fr[20];
vector <int> v;
void afisare ()
{
for (int i = 0; i < n; i ++) fout << v[i] << " ";
fout << "\n";
}
bool verificare ()
{
if (v.size() != n) return 0;
bool ok = 1;
for (int i = 0; i < n; i ++) {
if (fr[v[i]] == 0) fr[v[i]] ++;
else ok = 0;
}
for (int i = 1; i <= n; i ++) fr[i] = 0;
return ok;
}
void bkk ()
{
int k = v.size();
if (verificare()) {
afisare();
v.pop_back();
return;
}
if (v.size() == n) {
v.pop_back();
return;
}
for (int i = 1; i <= n; i ++) {
v.push_back(i);
bkk();
}
v.pop_back();
}
int main()
{
fin >> n;
bkk();
return 0;
}