Cod sursa(job #209722)
| Utilizator | Data | 24 septembrie 2008 13:57:52 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include<stdio.h>
int n,sol[101];
int check(int i,int k){
int j;
for(j=1; j<k; ++j)
if(sol[j]==i)
return 0;
return 1;}
void back(int k){
if(k==n+1){
for(int j=1; j<=n; ++j)
printf("%d ",sol[j]);
printf("\n");}
else
for(int i=1; i<=n; ++i)
if(check(i,k)){
sol[k]=i;
back(k+1);}}
int main(){
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back(1);
return 0;}
