Cod sursa(job #152806)
| Utilizator | Data | 9 martie 2008 19:56:00 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<stdio.h>
int a[10],n;
void tip(int i){
for(int p=1;p<=n;p++) printf("%ld ",a[p]);
printf("\n");
}
int valid(int i){
for(int p=1;p<i;p++)
if(a[p]==a[i])return 0;
return 1;
}
void back(int i){
int val;
for(val=1;val<=n;val++)
{a[i]=val;
if(valid(i))
if(i==n)tip(i);
else back(i+1);
}
}
int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%ld",&n);
back(1);
return 0;
}