as an eg. let ab be the string, and 3 characters length string is wht is expected..
a - - b - - a a - a b - b a - b b - a a a a a b a b a a b b b a a b a b b b a b b b On Fri, Aug 5, 2011 at 12:49 PM, Gaurav Menghani <gaurav.mengh...@gmail.com>wrote: > The basic idea is that for every position of the string, you fill it > with all possible alphabets in your set of allowed alphabets, let the > set be called alphabet. > > Now, you can do this recursively. > backtrack(s,l) denotes, a string s has been formed, and is of length > l. Now we need to add more letters to it. If l is equal to the maximum > length, then you just print the string s, and return. > > Otherwise, append the characters available to you. For example, if in > the current scenario, the call is backtrack("po",2), and alphabet = > {'o','p'} and maxlen=3, then we can append 'o' and 'p' to the string > "po", and hence call backtrack("poo",3) and backtrack("pop",3). > > You start the process by calling backtrack("",0), and setting maxlen > and alphabet to the appropriate values. > > On Fri, Aug 5, 2011 at 12:42 PM, Kamakshii Aggarwal > <kamakshi...@gmail.com> wrote: > > @gaurav:i could not understand ur sol.can u explain it again.. > > > > On Fri, Aug 5, 2011 at 12:32 PM, Gaurav Menghani < > gaurav.mengh...@gmail.com> > > wrote: > >> > >> On Fri, Aug 5, 2011 at 12:20 PM, Kamakshii Aggarwal > >> <kamakshi...@gmail.com> wrote: > >> > given a set of letters and a length N, produce all possible > output.(Not > >> > permutation). For example, give the letter (p,o) and length of 3, > >> > produce > >> > the following output(in any order you want, not just my example order) > >> > > >> > ppp ppo poo pop opp opo oop ooo > >> > > >> > another example would be given (a,b) and length 2 > >> > > >> > answer: ab aa bb ba > >> > > >> > -- > >> > Regards, > >> > Kamakshi > >> > kamakshi...@gmail.com > >> > >> This can be done easily by backtracking > >> > >> void backtrack(string s, int l) > >> { > >> if(l == maxlen) { cout<<s<<endl; return; } > >> > >> s.push_back('-'); > >> for(int i=0;i<alphabet.size();i++) > >> { > >> s[l]=alphabet[i]; > >> backtrack(s,l+1); > >> } > >> } > >> > >> -- > >> Gaurav Menghani > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Algorithm Geeks" group. > >> To post to this group, send email to algogeeks@googlegroups.com. > >> To unsubscribe from this group, send email to > >> algogeeks+unsubscr...@googlegroups.com. > >> For more options, visit this group at > >> http://groups.google.com/group/algogeeks?hl=en. > >> > > > > > > > > -- > > Regards, > > Kamakshi > > kamakshi...@gmail.com > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Algorithm Geeks" group. > > To post to this group, send email to algogeeks@googlegroups.com. > > To unsubscribe from this group, send email to > > algogeeks+unsubscr...@googlegroups.com. > > For more options, visit this group at > > http://groups.google.com/group/algogeeks?hl=en. > > > > > > -- > Gaurav Menghani > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.