fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S> inline int vecEraseVal_L(S val1, vector<S> &a){
  5. int i;
  6. int k = 0;
  7. int n = a.size();
  8. for(i=(0);i<(n);i++){
  9. if(a[i]!=val1){
  10. a[k++] = a[i];
  11. }
  12. }
  13. i = n - k;
  14. while(a.size() > k){
  15. a.pop_back();
  16. }
  17. return i;
  18. }
  19. vector<string> Explode_L(const string &str, const string &d){
  20. int s = 0;
  21. int i = 0;
  22. int j;
  23. vector<string> res;
  24. while(i + d.size() - 1 < str.size()){
  25. for(j=(0);j<(d.size());j++){
  26. if(str[i+j] != d[j]){
  27. break;
  28. }
  29. }
  30. if(j != d.size()){
  31. i++;
  32. continue;
  33. }
  34. res.push_back(str.substr(s, i-s));
  35. s = (i += d.size());
  36. }
  37. res.push_back(str.substr(s));
  38. return res;
  39. }
  40. string Implode_L(const vector<string> &v, const string &d){
  41. int i;
  42. string res;
  43. if(v.size()==0){
  44. return res;
  45. }
  46. res += v[0];
  47. for(i=(1);i<(v.size());i++){
  48. res += d;
  49. res += v[i];
  50. }
  51. return res;
  52. }
  53. #define main dummy_main
  54. int main(){
  55. return 0;
  56. }
  57. #undef main
  58. class Solution{
  59. public:
  60. string reorderSpaces(string s){
  61. int i;
  62. int sp = 0;
  63. int per;
  64. int rem;
  65. vector<string> word;
  66. for(i=(0);i<(s.size());i++){
  67. if(s[i]==' '){
  68. sp++;
  69. }
  70. }
  71. word =Explode_L(s, " ");
  72. vecEraseVal_L(string(""), word);
  73. if(word.size() > 1){
  74. per =sp / (word.size() - 1);
  75. }
  76. else{
  77. per =0;
  78. }
  79. rem = sp - per * (word.size() - 1);
  80. return Implode_L(word, string(per, ' '))+ string(rem, ' ');
  81. }
  82. }
  83. ;
  84. // cLay varsion 20200920-1
  85.  
  86. // --- original code ---
  87. // #define main dummy_main
  88. // {}
  89. // #undef main
  90. //
  91. // class Solution {
  92. // public:
  93. // string reorderSpaces(string s) {
  94. // int sp = 0, per, rem;
  95. // vector<string> word;
  96. //
  97. // rep(i,s.size()) if(s[i]==' ') sp++;
  98. // word = Explode(s, " ");
  99. // vecEraseVal(string(""), word);
  100. //
  101. // per = if[word.size() > 1, sp / (word.size() - 1), 0];
  102. // rem = sp - per * (word.size() - 1);
  103. //
  104. // return Implode(word, string(per, ' ')) + string(rem, ' ');
  105. // }
  106. // };
  107.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
stdout
Standard output is empty