Cod sursa(job #2177410)
Utilizator | Nitica Ionut Bogdan Bovisio | Data | 18 martie 2018 16:15:29 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <cstdio>
using namespace std;
int n,v[100001];
void Afis()
{
for(int i=1;i<=n;i++)
{
printf("%i ",v[i]);
}
printf("\n");
}
bool Valid(int x)
{
for(int i=0;i<x;i++)
{
if(v[i] == v[x])
return false;
}
return true;
}
void Backtracking(int k)
{
for(int i=1;i<=n;i++)
{
v[k] = i;
if(Valid(k) == true)
{
if(k == n)
Afis();
else
Backtracking(k+1);
}
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%i",&n);
Backtracking(1);
return 0;
}