AT_digitalarts_1.C-Filter

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对安全性感兴趣的高桥君是一位希望进入 Digital Arts 株式会社工作的青年。
为了在面试中展示自己,他打算用自己擅长的编程能力制作一款过滤软件“C-Filter”。
“C-Filter”是一款软件,如果给定的字符串 ss 中存在与预先注册的“NG词”完全匹配的字符串,则将该字符串用与其长度相同数量的 * 替换后输出。这个替换字符串的过程称为过滤。
“NG词”由半角小写英文字母和 * 组成。* 可以匹配任意一个半角小写英文字母。
例如,myonmyon 可以与 NG 词 myo*myon 匹配。
但是,NG 词只针对每个单词分别应用,因此,myo myon 不会与 NG 词 myo*myon 匹配。
此外,NG 词必须与某个单词完全一致才能匹配。
例如,abcde 不会与 NG 词 abc、bcd 或 cde 匹配。

给定字符串 ss 和 NG 词,请输出 C-Filter 过滤后的字符串。
输入按以下格式从标准输入给出。

ss NN t1t_{1} : : tNt_{N}

  1. 输入共 N+2N+2 行。
  2. 第 11 行给出长度不少于 11 且不超过 1,0001,000 的字符串 ss。
  • ss 是需要过滤的目标字符串,由若干个用半角空格分隔的单词组成。
  1. 第 22 行给出一个整数 NN,表示 NG 词的个数,0≤N≤500 \leq N \leq 50。
  2. 第 33 行到第 N+2N+2 行,每行给出一个 NG 词 tit_{i},1≤i≤N1 \leq i \leq N。
  • 字符串 tit_{i} 由半角小写英文字母和 * 组成。
  • 字符串 tit_{i} 的长度不少于 11 且不超过 2020。
  • NG 词中的 * 可以匹配除半角空格外的任意一个半角小写英文字母。

请输出用 C-Filter 过滤后的字符串 ss,输出一行。
最后请输出换行符。

示例:

abc aaa ababa abcba abc
2
abc
**a**
*** aaa ***** abcba ***
  • NG 词有 abc 和 **a** 两个。
  • 第 11 个和第 55 个单词 abc 与 NG 词 abc 匹配,因此输出为 ***。
  • 第 33 个单词 ababa 与 NG 词 **a** 匹配,因此输出为 *****。
aaaa aaa aaaaaa aaaa
3
a
aa
aaa
aaaa *** aaaaaa aaaa
  • 只需考虑完全匹配的情况,因此 aaaa 和 aaaaa 不需要替换。
i have a pen
1
*
* have * pen
  • 只有长度为 11 的单词会被识别为 NG 词。
digital arts
1
digital*arts
digital arts
  • 半角空格不会被 * 匹配。

输入格式

无

输出格式

无

说明/提示

无

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页