Source code for submission s1292

Go to diff to previous submission

bugs2.cpp

  1. #include <cstdio>
  2. #include <cstring>
  3.  
  4. int main()
  5. {
  6. char bug[1001], line[2000001];
  7. int T, buglen, stringlen, i;
  8. char c;
  9.  
  10. while (scanf("%d ", &T) == 1)
  11. {
  12. scanf("%s", bug);
  13. buglen = strlen(bug);
  14. bug[buglen] = '\0';
  15. scanf("%c", &c);
  16. for ( ; T; T--)
  17. {
  18. for ( i = 0; (c = getchar()) != '\n'; i++ )
  19. line[i] = c;
  20. line[i] = '\0';
  21. stringlen = i - 1;
  22. // gets(line);
  23. line[strlen(line)] = '\0';
  24. for ( int i = 0; line[i]; i++ )
  25. {
  26. if (strncmp(line+i, bug, buglen) == 0)
  27. {
  28. strcpy(line+i, line+i+buglen);
  29. i = i - buglen - 1;
  30. if ( i < -1 )
  31. i = -1;
  32. }
  33. }
  34. printf("%s\n", line);
  35. }
  36. }
  37.  
  38. return 0;
  39. }
  40.  

Diff to submission s1260

bugs2.cpp

--- c4.s1260.cteam059.bugs.cpp.0.bugs2.cpp
+++ c4.s1292.cteam059.bugs.cpp.0.bugs2.cpp
@@ -5,5 +5,5 @@
 {
         char     bug[1001], line[2000001];
-        int      T, buglen;
+        int      T, buglen, stringlen, i;
         char     c;
         
@@ -16,5 +16,9 @@
                 for ( ; T; T--)
                 {
-                        gets(line);
+                        for ( i = 0; (c = getchar()) != '\n'; i++ )
+                                line[i] = c;
+                        line[i] = '\0';
+                        stringlen = i - 1;
+//                      gets(line);
                         line[strlen(line)] = '\0';
                         for ( int i = 0; line[i]; i++ )