Cod sursa(job #2060049)

Utilizator valentin12Valentin Ion Semen valentin12 Data 7 noiembrie 2017 20:24:50
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,k,st[10];
void init()
{st[k]=0;

}
int am_succesor()
{if(st[k]<n) {st[k]++;
              return 1;
             }
    return 0;
}

int e_valid()
{int i;
 for(i=1;i<=k-1;i++)
  if(st[k]==st[i]) return 0;
 return 1;

}

int sol()
{return k==n;

}

void tipar()
{int i;
    for(i=1;i<=n;i++)
    g<<st[i]<<" ";
    g<<'\n';
}

void back()
{int as,ev;
    k=1;
    init();
    while(k>0)
    {do
       {as=am_succesor();
        ev=e_valid();
       }
     while(as&&!ev);
     if(as) if(sol()) tipar();
     else{k++;
          init();
         }
    else k--;
         }

}
int main()
{f>>n;
back();

    return 0;
}