fork download
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<vector>
  4. #include<bits/stdc++.h>
  5. using namespace std;
  6. int Length(string s)
  7. {
  8. int len=0;
  9. for(int i=0;s[i]!='\0';i++)
  10. {
  11. len++;
  12. }
  13. return len;
  14. }
  15. vector<int>substringfind(string s,string sub)
  16. {
  17. int lens=Length(s);
  18. int lensub=Length(sub);
  19. vector<int>pos;
  20. int paisi=0;
  21. for(int i=0;i<=lens-lensub;i++)
  22. {
  23. int matched=0;
  24. for(int j=0;j<lensub;j++)
  25. {
  26. if(sub[j]==s[i+j])
  27. {
  28. matched++;
  29. continue;
  30. }
  31. else
  32. break;
  33. }
  34. if(matched==lensub)
  35. {
  36. pos.push_back(i);
  37. }
  38. }
  39. return pos;
  40. }
  41. string Delete(string s,string sub)
  42. {
  43. int lens=Length(s);
  44. int lensub=Length(sub);
  45. vector<int>pos;
  46. pos=substringfind(s,sub);
  47. string res=" ";
  48. int kototomo=0;
  49. for(int i=0;i<lens;i++)
  50. {
  51. if(kototomo>pos.size()||i!=pos[kototomo])
  52. {
  53. res=res+s[i];
  54. }
  55. else
  56. {
  57. i+=(lensub-1);
  58. kototomo++;
  59. }
  60. }
  61. return res;
  62. }
  63. int main()
  64. {
  65. string s,sub;
  66. cin>>s>>sub;
  67. string res=Delete(s,sub);
  68. cout<<res<<endl;
  69. return 0;
  70. }
  71.  
Success #stdin #stdout 0.01s 5284KB
stdin
abcdcbcd
bcd
stdout
 ac