Cod sursa(job #350457)
| Utilizator | Data | 23 septembrie 2009 22:21:50 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream.h>
int x[20],n;
void tipar(int k){
int i;
for(i=1;i<=k;i++)
cout<<x[i]<<" ";
cout<<endl;
}
int cont(int k){
int i;
for(i=1;i<k;i++)
if(x[k]==x[i]) return 0;
return 1;
}
void back(){
int k=1;x[k]=0;
while(k>0)
if(x[k]<n){
x[k]++;
if(cont(k))
if(k==n)
tipar(k);
else {k++;x[k]=0;}
}
else k--;
}
int main(){
cin>>n;
back();
return 0;
}