AT_digitalarts_1.C-Filter
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对安全性感兴趣的高桥君是一位希望进入 Digital Arts 株式会社工作的青年。
为了在面试中展示自己,他打算用自己擅长的编程能力制作一款过滤软件“C-Filter”。
“C-Filter”是一款软件,如果给定的字符串 s 中存在与预先注册的“NG词”完全匹配的字符串,则将该字符串用与其长度相同数量的 * 替换后输出。这个替换字符串的过程称为过滤。
“NG词”由半角小写英文字母和 * 组成。* 可以匹配任意一个半角小写英文字母。
例如,myonmyon 可以与 NG 词 myo*myon 匹配。
但是,NG 词只针对每个单词分别应用,因此,myo myon 不会与 NG 词 myo*myon 匹配。
此外,NG 词必须与某个单词完全一致才能匹配。
例如,abcde 不会与 NG 词 abc、bcd 或 cde 匹配。
给定字符串 s 和 NG 词,请输出 C-Filter 过滤后的字符串。
输入按以下格式从标准输入给出。
s N t1 : : tN
- 输入共 N+2 行。
- 第 1 行给出长度不少于 1 且不超过 1,000 的字符串 s。
- s 是需要过滤的目标字符串,由若干个用半角空格分隔的单词组成。
- 第 2 行给出一个整数 N,表示 NG 词的个数,0≤N≤50。
- 第 3 行到第 N+2 行,每行给出一个 NG 词 ti,1≤i≤N。
- 字符串 ti 由半角小写英文字母和
*组成。 - 字符串 ti 的长度不少于 1 且不超过 20。
- NG 词中的
*可以匹配除半角空格外的任意一个半角小写英文字母。
请输出用 C-Filter 过滤后的字符串 s,输出一行。
最后请输出换行符。
示例:
abc aaa ababa abcba abc
2
abc
**a**
*** aaa ***** abcba ***
- NG 词有
abc和**a**两个。 - 第 1 个和第 5 个单词
abc与 NG 词abc匹配,因此输出为***。 - 第 3 个单词
ababa与 NG 词**a**匹配,因此输出为*****。
aaaa aaa aaaaaa aaaa
3
a
aa
aaa
aaaa *** aaaaaa aaaa
- 只需考虑完全匹配的情况,因此
aaaa和aaaaa不需要替换。
i have a pen
1
*
* have * pen
- 只有长度为 1 的单词会被识别为 NG 词。
digital arts
1
digital*arts
digital arts
- 半角空格不会被
*匹配。
输入格式
无
输出格式
无
说明/提示
无
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?