#HX1253B. 字符串加粗

提交13 通过11
通过率84.6%
时间限制1000ms
内存限制128MiB
    ID: 10050 传统题 1000ms 128MiB 尝试: 13 已通过: 11 难度: 普及- 上传者: 标签>编程题C++CSPCSP复赛CSP复赛专项练习暑假CSP复赛集训暑假集训1253-字符串模拟

题目描述

题目描述

给定一个有 n 个关键词集合 word 和一个字符串 s,你需要将所有 s 中出现的关键词 wordiword_i加粗。由于在 C++ 中输出加粗格式的文字是困难的,所以你需要参考 HTML 语法实现加粗:所有在标签 <b></b> 中的字母都会加粗。

求加粗后的字符串,需要使用尽可能少的标签,且标签应形成有效的组合。数据保证只有一种可能的答案。

输入格式

第 1 行,一个字符串 s。

第 2行,一个正整数 n。

i+2(1in)i+2(1\le i\le n) 行,每行一个关键词wordiword_i

输出格式

输出一行,一个字符串,表示 s 对关键词加粗后的结果。

样例输入

aabcd
2
ab
bc

样例输出

a<b>abc</b>d

提示

样例 1中,虽然加粗为 a<b>a<b>b</b>c</b>d 也能正确实现加粗,但会使用更多的标签,因此是错误的。

数据范围

s500, 1n50, 1wordi10|s|\le 500,\ 1\le n\le 50,\ 1\le |word_i|\le 10,保证字符串中只含有小写英文字母。

a
1
b
a
ubf
1
ub
<b>ub</b>f
aabcd
2
ab
bc
a<b>abc</b>d