Cod sursa(job #1338668)
Utilizator | Constantin Mihai mihai.constantin | Data | 10 februarie 2015 10:51:37 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <iostream>
#include <cstdio>
#define Dmax 10
using namespace std;
int N; int p[Dmax],uz[Dmax];
void GENERARE(int);
void AFISARE(void);
void GENERARE(int k)
{
if(k==N+1) AFISARE();
else
{
for(int i=1; i<=N; i++)
{
if(uz[i]==0)
{
p[k]=i; uz[i]=1;
GENERARE(k+1);
uz[i]=0;
}
}
}
}
void AFISARE()
{
for(int i=1; i<=N; i++) printf("%d ",p[i]);
printf("\n");
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d",&N);
GENERARE(1);
return 0;
}