Cod sursa(job #1149756)
Utilizator | Data | 22 martie 2014 11:16:12 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, viz[100], sol[100];
void afisare()
{
for(int i=1; i<=n; i++)
printf("%d ", sol[i]);
printf("\n");
}
void backt(int poz)
{
if(poz==n+1)
afisare();
else
for(int i=1; i<=n; i++)
if(viz[i]==0){
viz[i] = 1;
sol[poz] = i;
backt(poz+1);
viz[i] = 0;
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
backt(1);
return 0;
}