oops.. :P that an "if" didnt notice tat :D

On Wed, Jun 1, 2011 at 8:34 PM, keyan karthi <[email protected]>wrote:

>  even if the left over string length is >1 so that the recursion can be
> fun(s,current_position-2),  u still have the option for choosing a single
> character... do u get it??
> thats where u go wrong... :) the rec call should be "return
> fun(cur_length-1)+fun(cur_len-2)" ...
>
>
> On Wed, Jun 1, 2011 at 3:34 PM, arun kumar <[email protected]> wrote:
>
>> hey me getting wrong ans..can anyone pls help me out
>> here s my code
>> #include<stdio.h>
>> #include<iostream>
>> #include<string>
>> #include<cstring>
>> using namespace std;
>> unsigned long long a[5001]={0};
>> unsigned long long fun(string &s,int n)
>> {
>>    if(n==0) return 1;
>>    if(a[n]) return a[n];
>>
>>    int c=0,d=0;
>>    c=s[n]-'0';
>>    d=s[n-1]-'0';
>>    unsigned long long &ans=a[n];
>>   // cout<<c<<d<<endl;
>>    if((d*10+c)<=26 && n!=1)
>>    ans+=fun(s,n-2);
>>    else if((d*10+c)<=26)
>>    ans+=fun(s,0);
>>    if(d!=0)
>>    ans+=fun(s,n-1);
>>    return ans;
>>
>>
>> }
>> main()
>> {
>>    string s;
>>    while(cin>>s && s[0]!='0')
>>    {
>>        memset(a,0,sizeof(a));
>>        cout<<fun(s,s.size()-1);
>>
>>    }
>> }
>>
>>
>> On Wed, Jun 1, 2011 at 3:30 PM, pacific :-) <[email protected]>
>> wrote:
>> > Link : https://www.spoj.pl/problems/ACODE/
>> >
>> > 25114
>> > BEAN’, ‘BEAAD’, ‘YAAD’, ‘YAN’, ‘YKD’ ‘BEKD’.
>> > How many different decodings?”
>> >
>> > My soln , but i get TLE.Please help.
>> >
>> > #include <iostream>
>> > #include <cstdio>
>> > #include <vector>
>> > using namespace std;
>> >
>> > char * head;
>> > int result[5001];
>> > int count(char * a ,int size)
>> > {
>> >   if(result[a-head]!=0){
>> >     return result[a-head];
>> >   }
>> >
>> >   if(size==1)
>> >     return 1;
>> >   else if (size==2)
>> >     {
>> >       if(a[0]>'2')
>> >         return 1;
>> >       else
>> >         return 2;
>> >     }
>> >   else
>> >     {
>> >       int temp = count(a+1,size-1);
>> >       if(a[0]>'2' || (a[0]=='2' && a[1]>'6'))
>> >       {
>> >         result[a-head] = temp ;
>> >         return temp;
>> >       }
>> >       else
>> >       {
>> >         int r = temp+count(a+2,size-2);
>> >         result[a-head] = r;
>> >         return r;
>> >       }
>> >     }
>> > }
>> >
>> > int main()
>> > {
>> >   char ch;
>> >   cin>>ch;
>> >   while(ch!='0')
>> >     {
>> >       char input[5001];
>> >       int index=0;
>> >       while(ch!='\n')
>> >         {
>> >           //input.push_back(ch-'0');
>> >           input[index]=ch;
>> >           index++;
>> >           scanf("%c",&ch);
>> >         }
>> >
>> >       cin>>ch;
>> >       head = input ;
>> >       for(int i=0;i<=5000;i++)
>> >         result[i]=0;
>> >       cout<<count(input,index)<<endl;
>> >     }
>> > return 0;
>> > }
>> >
>> > --
>> > regards,
>> > chinna.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Algorithm Geeks" group.
>> > To post to this group, send email to [email protected].
>> > To unsubscribe from this group, send email to
>> > [email protected].
>> > 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to