@gaurav:i got it..thanks for the solution On Fri, Aug 5, 2011 at 2:34 PM, Kamakshii Aggarwal <kamakshi...@gmail.com>wrote:
> @gaurav:can u please explain what is the purpose of this line.. > s.push_back('-'); > > > On Fri, Aug 5, 2011 at 1:10 PM, Nitin Nizhawan > <nitin.nizha...@gmail.com>wrote: > >> Or one could just simulate a counting from 0 to (numchars^N)-1 in base >> numchars. >> ....... >> code: >> void printit(int N,char chars[],int index[]){ >> for(int i=0;i<N;i++){ >> printf("%c",chars[index[i]]); >> } >> printf("\n"); >> } >> void generate(int numchars,char chars[],int N){ >> int index[100]={0}; >> int allmax=0; >> int maxdigit=numchars-1; >> printit(N,chars,index); >> while(!allmax){ >> // add one; >> index[0]++; >> allmax=0; >> for(int i=0;i<N;i++){ >> if(index[i]>=numchars){ >> index[i]=0; index[i+1]++; >> } >> if(i==0&&index[i]==maxdigit){ >> allmax=1; >> } >> >> allmax = (index[i]==maxdigit)?allmax&1:0; >> >> } >> printit(N,chars,index); >> } >> } >> int main(){ >> char chars [] ={'p','o'}; >> int numchars =sizeof(chars)/sizeof(char); >> int N=3; >> generate(numchars,chars,N); >> } >> >> 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. >>> >>> >> -- >> 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 > -- 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.