• Source
    1. #include<stdio.h>
    2. #include<string.h>
    3. #include<iostream>
    4. #include<map>
    5.  
    6. using namespace std;
    7.  
    8. map<string,int>mp;
    9.  
    10. void init()
    11. {
    12. string s="";
    13. long tag=0,i,j,k,l,m;
    14. for(i='a'; i<='z'; i++)
    15. {
    16. s+=i;
    17. mp[s]=++tag;
    18. s="";
    19. }
    20. s="";
    21. for(i='a'; i<='z'; i++)
    22. {
    23. for(j=i+1; j<='z'; j++)
    24. {
    25. s+=i;
    26. s+=j;
    27. mp[s]=++tag;
    28. s="";
    29. }
    30. }
    31. s="";
    32. for(i='a'; i<='z'; i++)
    33. {
    34. for(j=i+1; j<='z'; j++)
    35. {
    36. for(k=j+1; k<='z'; k++)
    37. {
    38. s+=i;
    39. s+=j;
    40. s+=k;
    41. mp[s]=++tag;
    42. s="";
    43. }
    44. }
    45. }
    46.  
    47. s="";
    48. for(i='a'; i<='z'; i++)
    49. {
    50. for(j=i+1; j<='z'; j++)
    51. {
    52. for(k=j+1; k<='z'; k++)
    53. {
    54. for(l=k+1; l<='z'; l++)
    55. {
    56. s+=i;
    57. s+=j;
    58. s+=k;
    59. s+=l;
    60. mp[s]=++tag;
    61. s="";
    62. }
    63. }
    64. }
    65. }
    66. s="";
    67. for(i='a'; i<='z'; i++)
    68. {
    69. for(j=i+1; j<='z'; j++)
    70. {
    71. for(k=j+1; k<='z'; k++)
    72. {
    73. for(l=k+1; l<='z'; l++)
    74. {
    75. for(m=l+1; m<='z'; m++)
    76. {
    77. s+=i;
    78. s+=j;
    79. s+=k;
    80. s+=l;
    81. s+=m;
    82. mp[s]=++tag;
    83. s="";
    84. }
    85. }
    86. }
    87. }
    88. }
    89. return ;
    90. }
    91. int main()
    92. {
    93. init();
    94. string s;
    95. while(cin>>s)
    96. {
    97. if(mp.find(s)!=mp.end())
    98. {
    99. cout<<mp[s]<<endl;
    100. }
    101. else
    102. {
    103. cout<<"0\n";
    104. }
    105. }
    106. return 0;
    107. }
    108.