Cod sursa(job #2800899)
Utilizator | Robu Petru petru-robu | Data | 14 noiembrie 2021 12:59:12 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <bits/stdc++.h>
using namespace std;
int st[10], top=0, n;
bool viz[10];
ifstream fin("permutari.in");
ofstream fout("permutari.out");
void Afisare()
{
for(int i=1;i<=n;i++)
fout<<st[i]<<" ";
fout<<'\n';
}
bool Verifica(int x, int top)
{
return viz[x]==false;
}
void Back(int top)
{
if(top==n+1) Afisare();
else
{
for(int i=1;i<=n;++i)
if(Verifica(i, top-1))
{
st[top]=i;
viz[i] = true;
Back(top+1);
viz[i] = false;//backtracking
}
}
}
int main()
{
fin>>n;
fin.close();
Back(1);
return 0;
}