Source code for submission s1316

Go to diff to previous submission

bugs.cpp

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5.  
  6. #define eatline() {while (getchar() != '\n');}
  7.  
  8. int max(int a, int b)
  9. {
  10. return a > b ? a : b;
  11. }
  12.  
  13. char riadok[2000001];
  14.  
  15. int main()
  16. {
  17. int riadkov;
  18. while (scanf("%d", &riadkov) == 1)
  19. {
  20. char bug[1001];
  21. scanf("%s", bug);
  22. eatline();
  23. for (int i = 0; i < riadkov; i++)
  24. {
  25.  
  26.  
  27. int bugLen = strlen(bug);
  28.  
  29. gets(riadok);
  30.  
  31.  
  32. char * first;
  33. int offset = 0;
  34. while (first = strstr(riadok, bug))
  35. {
  36. // offset = max(first - riadok - bugLen, 0);
  37. // memcpy(riadok + first, riadok + first + bugLen, 2000001 - (first - riadok));
  38. strcpy(first, first + bugLen);
  39. }
  40. puts(riadok);
  41. }
  42.  
  43. }
  44. return 0;
  45. }
  46.  

Diff to submission s1201

bugs.cpp

--- c4.s1201.cteam072.bugs.cpp.0.bugs.cpp
+++ c4.s1316.cteam072.bugs.cpp.0.bugs.cpp
@@ -32,7 +32,7 @@
                         char * first;
                         int offset = 0;
-                        while (first = strstr(riadok + offset, bug))
+                        while (first = strstr(riadok, bug))
                         {
-                                offset = max(first - riadok - bugLen, 0);
+//                              offset = max(first - riadok - bugLen, 0);
 //                              memcpy(riadok + first, riadok + first + bugLen, 2000001 - (first - riadok));
                                 strcpy(first, first + bugLen);