fork download
  1. #include <vector>
  2. #include <list>
  3. #include <map>
  4. #include <set>
  5. #include <deque>
  6. #include <stack>
  7. #include <bitset>
  8. #include <algorithm>
  9. #include <functional>
  10. #include <numeric>
  11. #include <utility>
  12. #include <iterator>
  13. #include <sstream>
  14. #include <iostream>
  15. #include <iomanip>
  16. #include <cstdio>
  17. #include <cstring>
  18. #include <cmath>
  19. #include <cstdlib>
  20. #include <string>
  21. #include <ctime>
  22.  
  23. using namespace std;
  24.  
  25. int main() {
  26. // freopen("/Users/Shiva/Desktop/input.in", "r", stdin);
  27. // freopen("/Users/Shiva/Desktop/output", "w", stdout);
  28. int tc;
  29. cin>>tc;
  30. vector<int>ph;
  31. string s;
  32. for (int i = 1;i <= tc;i++) {
  33.  
  34.  
  35. cin>>s;
  36. ph.clear();
  37.  
  38. size_t f = s.find("Z");
  39. while(f != string::npos){
  40. s.replace(f,1,"");
  41. f = s.find("E");
  42. s.replace(f,1,"");
  43. f = s.find("R");
  44. s.replace(f,1,"");
  45. f = s.find("O");
  46. s.replace(f,1,"");
  47.  
  48. f = s.find("Z");
  49. ph.push_back(0);
  50. }
  51.  
  52. size_t f = s.find("X");
  53. while(f != string::npos){
  54. s.replace(f,1,"");
  55. f = s.find("S");
  56. s.replace(f,1,"");
  57. f = s.find("I");
  58. s.replace(f,1,"");
  59.  
  60. f = s.find("X");
  61. ph.push_back(6);
  62. }
  63. f = s.find("W");
  64. while(f != string::npos){
  65. s.replace(f,1,"");
  66. f = s.find("T");
  67. s.replace(f,1,"");
  68. f = s.find("O");
  69. s.replace(f,1,"");
  70.  
  71. f = s.find("W");
  72. ph.push_back(2);
  73. }
  74. f = s.find("G");
  75. while(f != string::npos){
  76. s.replace(f,1,"");
  77. f = s.find("E");
  78. s.replace(f,1,"");
  79. f = s.find("I");
  80. s.replace(f,1,"");
  81. f = s.find("H");
  82. s.replace(f,1,"");
  83. f = s.find("T");
  84. s.replace(f,1,"");
  85.  
  86. f = s.find("G");
  87. ph.push_back(8);
  88. }
  89. f = s.find("H");
  90. while(f != string::npos){
  91. s.replace(f,1,"");
  92. f = s.find("T");
  93. s.replace(f,1,"");
  94. f = s.find("R");
  95. s.replace(f,1,"");
  96. f = s.find("E");
  97. s.replace(f,1,"");
  98. f = s.find("E");
  99. s.replace(f,1,"");
  100.  
  101. f = s.find("H");
  102. ph.push_back(3);
  103.  
  104. }
  105. f = s.find("F");
  106. while(f != string::npos){
  107. if(s.find("U") != string::npos){
  108. s.replace(f,1,"");
  109. f = s.find("U");
  110. s.replace(f,1,"");
  111. f = s.find("O");
  112. s.replace(f,1,"");
  113. f = s.find("R");
  114. s.replace(f,1,"");
  115. ph.push_back(4);
  116.  
  117. }else{
  118. s.replace(f,1,"");
  119. f = s.find("I");
  120. s.replace(f,1,"");
  121. f = s.find("V");
  122. s.replace(f,1,"");
  123. f = s.find("E");
  124. s.replace(f,1,"");
  125. ph.push_back(5);
  126.  
  127.  
  128. }
  129. f = s.find("F");
  130. }
  131.  
  132. f = s.find("V");
  133. while(f != string::npos){
  134. s.replace(f,1,"");
  135. f = s.find("S");
  136. s.replace(f,1,"");
  137. f = s.find("E");
  138. s.replace(f,1,"");
  139. f = s.find("E");
  140. s.replace(f,1,"");
  141. f = s.find("N");
  142. s.replace(f,1,"");
  143. f = s.find("V");
  144.  
  145. ph.push_back(7);
  146.  
  147. }
  148. f = s.find("O");
  149. while(f != string::npos){
  150. s.replace(f,1,"");
  151. f = s.find("N");
  152. s.replace(f,1,"");
  153. f = s.find("E");
  154. s.replace(f,1,"");
  155. f = s.find("O");
  156. ph.push_back(1);
  157.  
  158. }
  159. f = s.find("N");
  160. while(f != string::npos){
  161. s.replace(f,1,"");
  162. f = s.find("I");
  163. s.replace(f,1,"");
  164. f = s.find("N");
  165. s.replace(f,1,"");
  166. f = s.find("E");
  167. s.replace(f,1,"");
  168. f = s.find("N");
  169. ph.push_back(9);
  170.  
  171. }
  172. sort(ph.begin(),ph.end());
  173.  
  174. std::ostringstream oss;
  175.  
  176. if (!ph.empty()){
  177. // Convert all but the last element to avoid a trailing ","
  178. std::copy(ph.begin(), ph.end()-1,
  179. std::ostream_iterator<int>(oss, ","));
  180.  
  181. // Now add the last element with no delimiter
  182. oss << ph.back();
  183. }
  184. cout<<"Case #"<<i<<": "<<"done"<<endl;
  185. }
  186. return 0;
  187. }
  188.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
1
ETHER
compilation info
prog.cpp: In function 'int main()':
prog.cpp:52:16: error: redeclaration of 'size_t f'
         size_t f = s.find("X");
                ^
prog.cpp:38:17: note: 'size_t f' previously declared here
          size_t f = s.find("Z");
                 ^
stdout
Standard output is empty