4168 - 日志过滤

题目描述

某数据处理系统需要对实时采集的日志文本进行敏感片段清理。系统接收到一段仅由小写字母组成的原始日志字符串 S,以及一段需要过滤的违规特征串 T

系统按照如下规则执行过滤操作:

  • 在当前字符串中,查找 最靠左 的一个由连续若干字符构成的子串,其内容与 T 完全一致;
  • 一旦找到该子串,则立即将其从当前字符串中删除;
  • 删除后字符串拼接为新的字符串,并继续从头开始查找;
  • 重复上述过程,直到当前字符串中 不再包含 子串 T 为止。

需要注意的是,由于删除操作会改变字符串结构,可能会在新的位置形成新的 T,因此必须持续执行该过程。

你的任务是:输出经过完整过滤后的最终日志内容。

输入

第一行输入一个字符串 S,表示原始日志内容。

第二行输入一个字符串 T,表示需要过滤的特征串。

输出

输出一个字符串,表示最终过滤完成后的日志内容。

样例

输入

ababcabccab
abc

输出

ab

输入

abcdeabcabcddfabcdef
abcd

输出

efef

输入

zzxyzzxyzxyzxyxyzzxyzabcxyzzxyxyzz
xyz

输出

zzzabcz
说明

样例 1 说明

初始字符串为:\text{"ababcabccab"}

需要删除的特征串为:T = \text{"abc"}

处理过程如下:

  1. 当前字符串:ababcabccab,第一个出现的 abc 从位置 3 开始(ab[abc]abccab),删除后得到:S = \text{"ababccab"}

  2. 当前字符串:ababccab,再次查找第一个 abc,从位置 3 开始(ab[abc]cab),删除后得到:S = \text{"abcab"}

  3. 当前字符串:abcab,再删除一次 abc 后,结果为 ab,结果不再包含 abc,处理结束。

最终结果为:\text{"ab"}

数据范围

测试点编号S,T 长度
1 \sim 6S 的长度 \in [1, 100]T 的长度 \in [1, 10]
7S 的长度 \in [1, 500]T 的长度 \in [1, 30]
8 \sim 20S 的长度 \in [1, 10^6]T 的长度不超过 S 的长度

对于 100\% 的数据,满足 1 \le |S| \le 10^61 \le |T| \le |S|,字符串仅包含小写英文字母。保证最终字符串长度至少为 1

其中 |S| 表示字符串 S 的长度。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 4 枚
难度 基础


上一题 下一题