Cod sursa(job #146477)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 1 martie 2008 19:40:41
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
using namespace std;

int st[10];
int n,k;

int valid(int k)
{
     int i;
     for(i=0;i<=k-1;i++)
          if(st[k]==st[i]) return 0;    //Verific aparitii precedende ale numarului
     return 1;
}

int main()
{
     int ev;
     
     ifstream fin("permutari.in");
     ofstream fout("permutari.out");     
     fin>>n;
     
     k=1;st[k]=0;
     
     while(k>0)
     {    do{
               st[k]++;
               ev=valid(k);
          } while((!ev)&&(st[k]<=n));
          
          if((ev)&&(st[k]<=n))
          {     if(k==n)
                {    for(int i=1;i<=k;i++) fout<<st[i]<<' '; 
                     fout<<endl; }
                else
                {    k++; st[k]=0;}
          } else k--;
     }
     return 0;
}