Advertisement
Morass

reeplace

Jan 23rd, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int MX(1<<14);
  4. bool sm(char*T,char*P){
  5.     for(int i(0);P[i];++i)
  6.         if(T[i]!=P[i])return 0;
  7.     return 1;
  8. }
  9. void cpy(char*O,char*H,int&L){
  10.     for(int i(0);H[i];++i)
  11.         O[L++]=H[i];
  12. }
  13. int rep(char*T,char*P,char*H,char*O){
  14.     int L(0),p(strlen(P));
  15.     for(int i(0);T[i];++i)
  16.         if(sm(T+i,P))cpy(O,H,L),i+=p-1;
  17.         else O[L++]=T[i];
  18.     O[L]=0;
  19.     return L;
  20. }
  21. char T[MX],H[MX],P[MX],O[MX];
  22. int main(void){
  23.     scanf("%s%s%s",T,P,H);
  24.     rep(T,P,H,O);
  25.     printf("%s\n",O);
  26.     return 0;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement