Cod sursa(job #489926)
Utilizator | Liviu P. BeRReT | Data | 4 octombrie 2010 09:08:15 |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<iostream.h>
#include<fstream.h>
int x[100], n, k;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int cont (int k){
int i;
for(i=1;i<=k-1;i++)
if(x[i]==x[k])
return 0;
return 1;
}
void tipar (){
for(int i =1; i<=n;i++)
fout<<x[i]<<" ";
fout<<"\n";
}
int main () {
fin>>n;
k=1;
x[1]=0;
while (k!=0)
if(x[k]<n){
x[k]++;
if(cont(k))
if(k==n)
tipar ();
else {
k++;
x[k]=0;
}
}
else k--;
fin.close();
fout.close();
return 0;
}