ulvis.paste.net

Paste Search Dynamic
Recent pastes
long dem
  1.  
  2.  
  3. #include <iostream>
  4. #include <cstring>
  5. using namespace std;
  6. #define m 1000000007
  7.  
  8. unsigned long long dem(string s, unsigned long long n)
  9. {
  10.     unsigned long long count[n+1];
  11.     count[0]=1;
  12.     count[1]=1;
  13.     for(int i=2;i<=n;i++)
  14.     {
  15.         count[i]=0;
  16.         if(s[i-1] > '0')
  17.             count[i] = count[i-1];
  18.         if(s[i-2]== '1' || (s[i-2]== '2' && s[i-1]< '8'))
  19.             count[i] += count[i-2];
  20.     }
  21.     return count[n];
  22. }
  23.  
  24. int main(int argc, const char * argv[]) {
  25.     string s;
  26.     getline(cin,s);
  27.     if(s[0]=='0')
  28.     {
  29.         cout<<"0";
  30.         return 0;
  31.     }
  32.     unsigned long long t = dem(s, s.size());
  33.     if(t>m)
  34.         t = t%m;
  35.     cout<<t;
  36.    
  37. }
  38.  
Parsed in 0.007 seconds