#include #include int x[50],k,n; char s[50],t[50]; void init(int k){ x[k]=0; } int succesor(int k){ int as; if(x[k]0){ int as=1; int ev=0; while(as==1&&ev==0){ as=succesor(k); if(as) ev=valid(k); } if(as) if(solutie(k)) tipar(); else {k++;init(k);} else k--;} } int main(){ int i,j; cin>>s; //se citeste sirul de caractere n=strlen(s); // n = dimensiunea sirului for(i=1,j=0;j<=n;j++,i++) //deoarece primul caracter al sirului s este memorat cu idicele 0 s[0] vom transpune sirul s in sirul t // acesta din urma incepand de la t[1] (aceasta modificare este necesara pentru a nu modifica algoritul de la permutari) t[i]=s[j]; back(n); return 0; }