Cod sursa(job #475316)
| Utilizator | Data | 6 august 2010 16:46:14 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include<fstream.h>
ifstream f("permutari.in"); ofstream g("permutari.out");
int x[100],n,i,k;
int succ(int x[],int k){
if(x[k]<n){
x[k]++;
return 1;
}
else
return 0;
}
int valid(int x[],int k){
short ok=1;
for(i=1;(i<k)&&(ok);i++)
if(x[i]==x[k])
ok=0;
return ok;
}
void bkt(){
k=1;x[k]=0;
while(k>0){
if(succ(x,k)){
if(valid(x,k))
if(k==n){
for(i=1;i<=n;i++)
g<<x[i]<<" ";
g<<'\n';
}
else
x[++k]=0;
}
else
k--;
}
}
int main(){
f>>n;
bkt();
f.close();g.close();
return 0;
}
