题目

救救企鹅

思路

模拟题目。
需要了解以下几个函数, 以下说的字符串下标都是从 开始的。

str.find(c1, c2),表示在 这个串中从 这个位置开始找 这个字符串,找到了返回第一个字符的位置,找不到返回

str.substr(c1, c2),返回 这个串中从下标为 的地方开始的 字符组成的字符串。

我们在 串中一开始从 的位置去找 记它的位置为 显然 和我们开始找 的那个位置之间的字符串要输出,然后在输出 ,这样就相当于我们把 替换成了 然后从下一个位置()开始找 ,这样找下去,最后输出最后一个 出现的位置的结尾到字符串结尾之间的字符串。

Code

#include 
#include 
#include 
#include 
#include 

int x, last, len, l;
std::string sss, s, t;

int main() {
    std::cin >> sss >> s >> t;
    len = s.length(), l = sss.length();
    while(sss.find(s, x) != -1) {
        last = x, x = sss.find(s, x);
        std::cout << sss.substr(last, x - last);
        std::cout << t;
        x += len;
    }
    std::cout << sss.substr(x, l - x);
    return 0;
}