Source code for submission s1300

bugs.cpp

  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. int main ( int argc, char * argv [] )
  8. {
  9. int linesCount;
  10. unsigned int equal;
  11. unsigned int j, k;
  12. string bug;
  13. string input;
  14.  
  15.  
  16. char *str = new char [2000000];
  17. bool finish = false;
  18. int z = 0;
  19.  
  20.  
  21. while ( cin >> linesCount >> bug ) {
  22.  
  23. z = 0;
  24. while( z < linesCount + 1 )
  25. {
  26.  
  27. gets(str);
  28. input = str;
  29. //cout << input << endl;
  30.  
  31. for ( unsigned int i = 0; i < input.length(); i ++ ) {
  32.  
  33. if ( input[ i ] != bug[ 0 ] ) {
  34. cout << input[ i ];
  35. continue;
  36. }
  37.  
  38. equal = 0;
  39.  
  40. for ( j = 0; j < bug.length(); j ++ ) {
  41.  
  42. if ( i + j > input.length() && j < bug.length() ){
  43. finish = true;
  44. break;
  45. }
  46.  
  47. if ( input[ i + j ] == bug[ j ] )
  48. equal ++;
  49.  
  50. }
  51.  
  52. if ( finish ) {
  53. for ( unsigned x = i; x < input.length(); x ++ )
  54. cout << input[ x ];
  55. }
  56.  
  57.  
  58. if ( equal == bug.length() ){
  59. i += bug.length() - 1;
  60. continue;
  61. }
  62.  
  63. for ( k = i; k < i + equal ; k ++ )
  64. cout << input[ k ];
  65. i = i + equal - 1;
  66.  
  67. }
  68. z++;}
  69. }
  70.  
  71.  
  72. delete [] str;
  73.  
  74. return 0;
  75. }
  76.