Go to diff to previous submission
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define eatline() {while (getchar() != '\n');} int max(int a, int b) { return a > b ? a : b; } char riadok[2000001]; int main() { int riadkov; while (scanf("%d", &riadkov) == 1) { char bug[1001]; scanf("%s", bug); eatline(); for (int i = 0; i < riadkov; i++) { int bugLen = strlen(bug); gets(riadok); char * first; int offset = 0; while (first = strstr(riadok, bug)) { // offset = max(first - riadok - bugLen, 0); // memcpy(riadok + first, riadok + first + bugLen, 2000001 - (first - riadok)); strcpy(first, first + bugLen); } puts(riadok); } } return 0; }
--- 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);