fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define ull unsigned long long
  5. #define print1(x) cout<<x<<endl
  6. #define print2(x,y) cout<<x<<" "<<y<<endl
  7. #define print3(x,y,z) cout<<x<<" "<<y<<" "<<z<<endl
  8. #define FOR(i,start,end,increment) for(i=start;i<end;i=i+increment)
  9. #define print_arr(a) for(auto iter:a) cout<<iter<<" "
  10. #define print_arr2(a,n) for(ll iter = 0;iter<n;iter++) cout<<a[iter]<<" "
  11. #define ENDL cout<<endl
  12. #define mii map<int,int>
  13. #define pii pair<int,int>
  14. #define pll pair<ll,ll>
  15. #define vi vector<int>
  16. #define vl vector<ll>
  17. #define graph vector<vector<ll> >
  18. #define vpll vector<pair<ll,ll> >
  19.  
  20.  
  21. int main()
  22. {
  23. string s,s2 = "";
  24. cin>>s;
  25. int a[26];
  26. int n = s.length();
  27. for(int i=n-1;i>=0;i--)
  28. {
  29. int n2;
  30. if(s[i]=='#')
  31. {
  32. n2=int(s[i-2]-'0');
  33. n2 = n2*10 - 1 + int(s[i-1]-'0')+int('a');
  34. s2 = char(n2) + s2;
  35. i=i-2;
  36. }
  37. else
  38. s2 = s[i]+s2;
  39.  
  40. }
  41.  
  42.  
  43. s = s2;
  44. s2 = "";
  45. memset(a,0,sizeof(a));
  46. n = s.length();
  47. for(int i=0;i<n;i++)
  48. {
  49. int n2=0;
  50.  
  51. if(s[i]>='1' && s[i]<='9')
  52. a[s[i]-'0'-1]++;
  53. if(s[i]>='j' && s[i]<='z')
  54. a[s[i]-'a']++;
  55.  
  56. if(s[i]=='(')
  57. {
  58. char c = s[i-1];
  59. i++;
  60. while(s[i]!=')')
  61. {
  62. n2 = n2*10;
  63. n2 += int(s[i]-'0');
  64. i++;
  65. }
  66. if(c>='1' && c<='9')
  67. a[c-'0'-1]+=n2-1;
  68. if(c>='j' && c<='z')
  69. a[c-'a']+=n2-1;
  70. }
  71.  
  72. }
  73.  
  74. for(int i=0;i<26;i++)
  75. cout<<a[i]<<" ";
  76.  
  77.  
  78. }
Success #stdin #stdout 0s 5016KB
stdin
Standard input is empty
stdout
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0