Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.51 KB | None | 0 0
  1. int decodeWays(const string& a)
  2. {
  3.     int na=a.size();
  4.     int dp[na+1]={0};
  5.     dp[0]=0;
  6.     dp[1]=1;
  7.     for(int i=2;i<=na;i++){
  8.         if((a[i]<='0'+6 && a[i-1]==2) || a[i-1]=='1'){
  9.             dp[i]+=dp[i-2];
  10.         }
  11.        
  12.         dp[i]+= dp[i-1];
  13.     }
  14.     return dp[na];
  15.  
  16. }
  17.  
  18. ==> move to fibonacci
  19. int decodeWays(const string& a)
  20. {
  21.     int na=a.size();
  22.     int fn_1=0;
  23.     int fn_2=1;
  24.     for(int i=2;i<=na;i++){
  25.         int fn=0;
  26.         if((a[i]<='0'+6 && a[i-1]==2) || a[i-1]=='1'){
  27.             fn+=fn_2;
  28.         }
  29.         fn+=fn_1;
  30.         fn_2=fn_1;
  31.         fn_1=fn;
  32.     }
  33.     return fn_1;
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement