Guest User

Untitled

a guest
May 23rd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cctype>
  4. #include <string>
  5. #include <cmath>
  6. #include <vector>
  7. #include <algorithm>
  8. #include <stack>
  9. #include <queue>
  10. #include <map>
  11. #include <set>
  12. #include <sstream>
  13. #include <ctime>
  14. #include <cassert>
  15.  
  16. using namespace std;
  17.  
  18. #define GI ({int t;scanf("%d",&t);t;})
  19. #define GL ({LL t;scanf("%lld",&t);t;})
  20. #define GD ({double t;scanf("%lf",&t);t;})
  21. #define FOR(i,a,b) for(int i=a;i<b;i++)
  22. #define REP(i,n) FOR(i,0,n)
  23. #define ROF(i,a,b) for(int i=a;i>b;i--)
  24. #define SET(x,a) memset(x,a,sizeof(x));
  25. #define all(a) a.begin(),a.end()
  26. #define rall(a) a.rbegin(),a.rend()
  27. #define tr(i,a) for( typeof(a.begin()) i=a.begin();i!=a.end();i++)
  28. #define pb push_back
  29. #define sz(a) (int)(a.size())
  30. #define INF (int)1e9
  31. #define EPS (double)1e-9
  32. #define is istringstream
  33. #define os ostringstream
  34. #define lb lower_bound
  35. #define ub upper_bound
  36. #define bs binary_search
  37.  
  38. typedef long long LL;
  39. typedef pair< int,int > ii;
  40. typedef vector< ii > vii;
  41. typedef vector < vii > vvii;
  42. typedef vector< int > vi;
  43. typedef vector< vi > vvi;
  44. typedef vector< string > vs;
  45.  
  46. #define MOD 100000007
  47.  
  48. long long powmod(long long a,long long b)
  49. {
  50. long long ans = 1;
  51.  
  52. while(b!=0)
  53. {
  54. if(b%2!=0)
  55. {
  56. ans =(ans*a)%MOD;
  57. }
  58. a = (a*a)%MOD;
  59. b/=2;
  60. }
  61. return ans%MOD;
  62. }
  63.  
  64.  
  65. int main()
  66. {int m[26],a[26];
  67.  
  68. a[0]=2;
  69. a[1]=2;
  70. a[2]=2;
  71. a[3]=3;
  72. a[4]=3;
  73. a[5]=3;
  74. a[6]=4;
  75. a[7]=4;
  76. a[8]=4;
  77. a[9]=5;
  78. a[10]=5;
  79. a[11]=5;
  80. a[12]=6;
  81. a[13]=6;
  82. a[14]=6;
  83. a[15]=7;
  84. a[16]=7;
  85. a[17]=7;
  86. a[18]=7;
  87. a[19]=8;
  88. a[20]=8;
  89. a[21]=8;
  90. a[22]=9;
  91. a[23]=9;
  92. a[24]=9;
  93. a[25]=9;
  94. m[0]=1;
  95. m[1]=2;
  96. m[2]=3;
  97. m[3]=1;
  98. m[4]=2;
  99. m[5]=3;
  100. m[6]=1;
  101. m[7]=2;
  102. m[8]=3;
  103. m[9]=1;
  104. m[10]=2;
  105. m[11]=3;
  106. m[12]=1;
  107. m[13]=2;
  108. m[14]=3;
  109. m[15]=1;
  110. m[16]=2;
  111. m[17]=3;
  112. m[18]=4;
  113. m[19]=1;
  114. m[20]=2;
  115. m[21]=3;
  116. m[22]=1;
  117. m[23]=2;
  118. m[24]=3;
  119. m[25]=4;
  120. int t;
  121. t=GI;
  122. while(t--)
  123. {
  124. string s;
  125. cin>>s;
  126. long long cnt=0;
  127. for(int i=0;i<s.length();i++)
  128. {
  129. if(i!=0)
  130. {
  131. if(a[s[i-1]-'a']==a[s[i]-'a'])
  132. {
  133. cnt+=(m[s[i]-'a']);
  134. continue;
  135. }
  136. }
  137. if(m[s[i]-'a']==1)
  138. continue;
  139. else
  140. cnt+=m[s[i]-'a']-1;
  141. }
  142. // cout<<" c "<< cnt<<endl;
  143. long long powermod = powmod(2,cnt);
  144.  
  145. cout<<powermod<<endl;
  146.  
  147. }
  148.  
  149. //GI;
  150. return 0;
Add Comment
Please, Sign In to add comment