Cod sursa(job #1689349)
Utilizator | Data | 14 aprilie 2016 10:20:10 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.74 kb |
#include <iostream>
#include <cstdio>
#include <fstream>
using namespace std;
int n,t[10];
bool ok;
void backtr(int k){
if(k == n){
for(int i=1;i<=n;i++){
printf("%d ",t[i]);
}
printf("\n");
}
else{
for(int i=1;i<=n;i++){
ok = true;
for(int j=1;j<=k;j++){
if(t[j]==i){
ok=false;
break;
}
}
if(ok){
t[k+1]=i;
backtr(k+1);
}
}
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
backtr(0);
return 0;
}