Ok, Thanks On Fri, Aug 5, 2011 at 2:53 PM, Gaurav Menghani <gaurav.mengh...@gmail.com>wrote:
> Even if the number of elements is more than two, it is possible with > bitwise operations, but it gets clumsy. > > Suppose your alphabet has 4 characters. You can either: > - Count from 0 to (1<<4*n)-1 and use four bits to denote the selection > of the alphabet. Also, only one bit amongst those four should be set. > It is highly inefficient. > - Keep n nested loops and inside each loop you iterate from 0 to > (1<<4)-1 and use the standard bitwise operations. The con here is that > you have to hardcode the number of nested loops. > > On Fri, Aug 5, 2011 at 2:44 PM, Nitin Nizhawan <nitin.nizha...@gmail.com> > wrote: > > @Varun I think it can be done using bits, if input character set has > only > > two elements. Or could u plz explain? > > > > On Fri, Aug 5, 2011 at 2:29 PM, Varun Jakhoria <varunjakho...@gmail.com> > > wrote: > >> > >> I think it can be done using bitwise ANDing with a mask > >> > >> On Fri, Aug 5, 2011 at 12:58 PM, Gaurav Menghani > >> <gaurav.mengh...@gmail.com> wrote: > >> > An Implementation: > >> > > >> > #include<iostream> > >> > #include<string> > >> > using namespace std; > >> > > >> > string alphabet; > >> > int maxlen; > >> > 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); } > >> > } > >> > > >> > int main() > >> > { > >> > maxlen=3; > >> > alphabet="op"; > >> > backtrack("",0); > >> > return 0; > >> > } > >> > > >> > > >> > 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. > >> > > >> > > >> > >> > >> > >> -- > >> Varun Jakhoria > >> ...it's only about 0's & 1's > >> > >> -- > >> 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. > > > > > > -- > 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.