fork(1) download
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<iostream>
  4. #include<algorithm>
  5. #include<map>
  6. const long long inf=1e17;
  7. #define forn(i,n) for(int i=0;i<n;i++)
  8. #define ll long long
  9. using namespace std;
  10. ll mod=pow(10,9)+7;
  11. ll a[5020];
  12. int main(){
  13. int t;
  14. ll n,i;
  15. string s;
  16. cin>>s;
  17. while(s[0]!='0'){
  18. memset(a,0,sizeof(a));
  19. a[0]=1;
  20. a[1]=1;
  21. int flag=0;
  22. ll d=(s[0]-'0')*10+(s[1]-'0');
  23. if(d>=10&&d<=26)
  24. a[1]=2;
  25. if(s[1]=='0')flag=1;
  26. for(i=2;i<s.length();i++){
  27. d=(s[i-1]-'0')*10+(s[i]-'0');
  28. if(s[i]=='0'){
  29. flag=1;
  30. break;}
  31. if(d>=10&&d<=26)
  32. a[i]=a[i-1]+a[i-2];
  33. else
  34. a[i]=a[i-1];
  35. }
  36. if(!flag)
  37. printf("%lld\n",a[i-1]);
  38. else
  39. printf("0\n");
  40. cin>>s;
  41. }
  42. return 0;
  43. }
Success #stdin #stdout 0s 3268KB
stdin
100000
100300400
25114
1111111111
3333333333
0
stdout
0
0
6
89
1