Cod sursa(job #1980359)
Utilizator | Data | 12 mai 2017 22:35:44 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int n, st[20];
int valid (int k)
{
for (int i=1; i<k; i++)
if (st[i]==st[k]) return 0;
return 1;
}
void perm (int k)
{
for (int x=1; x<=n; x++){
st[k]=x;
if (valid(k)){
if (k==n){
for (int i=1; i<=k; i++) printf("%d ", st[i]);
printf("\n");
}
else perm(k+1);
}
}
}
int main ()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
perm(1);
return 0;
}