fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. #define int long long
  5. #define pb push_back
  6. #define fi first
  7. #define se second
  8. #define nn '\n'
  9. #define pi pair<ll,ll>
  10. #define unmp unordered_map
  11. #define uns unordered_set
  12. #define TASK ""
  13. int mod = 1e9+7;
  14. const int N = 1e6 + 5;
  15. int MOD = 998244353;
  16. int bit[200000];
  17. map<string, int> mp;
  18. int c = 1;
  19. string n;
  20. signed main() {
  21. ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  22. if(fopen(TASK".INP","r")){
  23. freopen(TASK".INP","r",stdin);
  24. freopen(TASK".OUT","w",stdout);
  25. }
  26. for(char i = 'a'; i <= 'z'; i++){
  27. string s = "";
  28. s += i;
  29. mp[s] = c;
  30. c++;
  31. }
  32. for(char i = 'a'; i <= 'z'; i++){
  33. for(char j = i + 1; j <= 'z'; j++){
  34. string s = "";
  35. s += i; s += j;
  36. mp[s] = c;
  37. c++;
  38. }
  39. }
  40. for(char i = 'a'; i <= 'z'; i++){
  41. for(char j = i + 1; j <= 'z'; j++){
  42. for(char k = j + 1; k <= 'z'; k++){
  43. string s = "";
  44. s += i; s += j; s += k;
  45. mp[s] = c;
  46. c++;
  47. }
  48. }
  49. }
  50. for(char i = 'a'; i <= 'z'; i++){
  51. for(char j = i + 1; j <= 'z'; j++){
  52. for(char k = j + 1; k <= 'z'; k++){
  53. for(char q = k + 1; q <= 'z'; q++){
  54. string s = "";
  55. s += i; s += j; s += k; s += q;
  56. mp[s] = c;
  57. c++;
  58. }
  59. }
  60. }
  61. }
  62. for(char i = 'a'; i <= 'z'; i++){
  63. for(char j = i + 1; j <= 'z'; j++){
  64. for(char k = j + 1; k <= 'z'; k++){
  65. for(char q = k + 1; q <= 'z'; q++){
  66. for(char f = q + 1; f <= 'z'; f++){
  67. string s = "";
  68. s += i; s += j; s += k; s += q; s += f;
  69. mp[s] = c;
  70. c++;
  71. }
  72. }
  73. }
  74. }
  75. }
  76. while(cin >> n){
  77. if(!mp.count(n)){
  78. cout << 0 << nn;
  79. }
  80. else{
  81. cout << mp[n] << nn;
  82. }
  83. }
  84. return 0;
  85. }
  86.  
Success #stdin #stdout 0.06s 10092KB
stdin
z 
a 
cat 
vwxyz
stdout
26
1
0
83681