@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

-- 
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.

Reply via email to