Cod sursa(job #1678803)

Utilizator cyber_ghSoltan Gheorghe cyber_gh Data 7 aprilie 2016 15:38:33
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
 using namespace std;
ifstream cin("permutari.in");
ofstream cout("permutari.out");
 int x[30];
 int n,nr;
 
 void tipar()
 {
 int i;
 for(i=1;i<=n;i++)
 cout<<x[i]<<" ";
 cout<<'\n';
 nr++;
 }
 
 int valid(int k)
 {
int i;
 for(i=1;i<k;i++)
 if(x[i]==x[k])return 0;
 return 1;
 }
 
 void back()
 {
 int i,k=1;
 x[1]=0;
 while(k>0)//stiva nu este vida
 {
 while(x[k]<n)
 {
 x[k]=x[k]+1;
 if(valid(k))
 if(k==n) tipar();
 else
 {k=k+1;x[k]=0;}
 }
 k=k-1;
 }
 }
 
 int main()
 {
 cin>>n;
 back();
 }