Cod sursa(job #524236)
Utilizator | Rares Arnautu Rares95 | Data | 20 ianuarie 2011 19:09:30 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<stdio.h>
int m, n, k,x[51],i;
int cont(int k)
{ for(int i=1;i<k;i++) if(x[i]==x[k]) return 0;
return 1;
}
void afis()
{ for(i=1; i<=m; ++i) printf ("%d ", x[i]);
printf ("\n");
}
void permutari()
{ k=1;x[k]=0;
do
{ while(x[k]<m)
{ x[k]++;
if(cont(k))
if(k==m) afis();
else {k++;x[k]=0;}
}
k--;
} while(k);
}
int main()
{ freopen ("permutari.in", "r", stdin);
freopen ("permutari.out", "w", stdout);
scanf ("%d",&m);
permutari();
return 0;
}