Source code for submission s708

main.c

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char buffer[2002000];
  6. char pattern[1024];
  7.  
  8. int blength;
  9. int plength;
  10.  
  11. int i, n;
  12.  
  13. int replace()
  14. {
  15. char* start;
  16. char* found;
  17. int offset;
  18.  
  19. offset = 0;
  20.  
  21. start = buffer;
  22.  
  23. do
  24. {
  25. found = strstr(start, pattern);
  26.  
  27. if (found)
  28. {
  29. *found = 0;
  30. strcpy(found, found + plength);
  31. start = found - plength;
  32. if (start < buffer)
  33. {
  34. start = buffer;
  35. }
  36. }
  37. }while(found);
  38.  
  39. printf("%s", buffer);
  40.  
  41. return 0;
  42. }
  43.  
  44. int main(int argc, char *argv[])
  45. {
  46. while (scanf("%d %s", &n, pattern) == 2)
  47. {
  48. plength = strlen(pattern);
  49. gets(buffer); /* sezereme konec radky */
  50. blength = strlen(buffer);
  51.  
  52. for (i = 0; i < n; i++)
  53. {
  54. fgets(buffer, 2000010, stdin);
  55. replace();
  56. }
  57. }
  58. return 0;
  59. }
  60.