fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S> void arrErase(int k, int &sz, S a[]){
  5. int i;
  6. sz--;
  7. for(i=(k);i<(sz);i++){
  8. a[i] = a[i+1];
  9. }
  10. }
  11. template<class S, class T> void arrErase(int k, int &sz, S a[], T b[]){
  12. int i;
  13. sz--;
  14. for(i=(k);i<(sz);i++){
  15. a[i] = a[i+1];
  16. }
  17. for(i=(k);i<(sz);i++){
  18. b[i] = b[i+1];
  19. }
  20. }
  21. template<class S, class T, class U> void arrErase(int k, int &sz, S a[], T b[], U c[]){
  22. int i;
  23. sz--;
  24. for(i=(k);i<(sz);i++){
  25. a[i] = a[i+1];
  26. }
  27. for(i=(k);i<(sz);i++){
  28. b[i] = b[i+1];
  29. }
  30. for(i=(k);i<(sz);i++){
  31. c[i] = c[i+1];
  32. }
  33. }
  34. #define main dummy_main
  35. int main(){
  36. return 0;
  37. }
  38. #undef main
  39. class Solution{
  40. public:
  41. int numSteps(string s){
  42. int i;
  43. int arr[502];
  44. int N = s.size();
  45. int res = 0;
  46. for(i=(0);i<(N);i++){
  47. arr[i] = s[N-1-i] - '0';
  48. }
  49. while(N >= 2){
  50. res++;
  51. if(arr[0]==0){
  52. arrErase(0, N, arr);
  53. }
  54. else{
  55. arr[0]++;
  56. for(i=(0);i<(N-1);i++){
  57. if(arr[i]==2){
  58. arr[i] = 0;
  59. arr[i+1]++;
  60. }
  61. }
  62. if(arr[N-1] == 2){
  63. arr[N-1] = 0;
  64. arr[N] = 1;
  65. N++;
  66. }
  67. }
  68. }
  69. return res;
  70. }
  71. }
  72. ;
  73. // cLay varsion 20200408-1
  74.  
  75. // --- original code ---
  76. // #define main dummy_main
  77. // {}
  78. // #undef main
  79. //
  80. // class Solution {
  81. // public:
  82. // int numSteps(string s) {
  83. // int arr[502], N = s.size(), res = 0;
  84. // rep(i,N) arr[i] = s[N-1-i] - '0';
  85. // while(N >= 2){
  86. // res++;
  87. // if(arr[0]==0){
  88. // arrErase(0, N, arr);
  89. // } else {
  90. // arr[0]++;
  91. // rep(i,N-1) if(arr[i]==2) arr[i] = 0, arr[i+1]++;
  92. // if(arr[N-1] == 2){
  93. // arr[N-1] = 0;
  94. // arr[N] = 1;
  95. // N++;
  96. // }
  97. // }
  98. // }
  99. //
  100. // return res;
  101. // }
  102. // };
  103.  
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