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.

Reply via email to