CF2068F.Mascot Naming
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在筹办大型活动时,组织者常需处理专业领域外的琐事。例如,EUC 2025 的主裁判需要为官方吉祥物命名,并满足以下条件:
- 名称必须包含特定单词作为子序列*,例如活动名称和举办地。给定必须包含的 n 个单词列表 s1,s2,…,sn。
- 名称不得包含去年吉祥物名称 t 作为子序列*。
请帮助主裁判找到有效的吉祥物名称,或判定其不存在。
* 若字符串 x 可通过删除字符串 y 中若干字符(不改变剩余字符顺序)得到,则称 x 是 y 的子序列。例如,abc 是 axbycz 的子序列,但不是 acbxyz 的子序列。
输入格式
第一行包含整数 n(1≤n≤200000)——必须作为子序列出现的单词数量。
接下来 n 行中,第 i 行包含字符串 si(1≤∣si∣≤200000,仅含小写字母)——必须作为子序列出现的第 i 个单词。所有 si 的总长度不超过 200000,即 ∣s1∣+∣s2∣+⋯+∣sn∣≤200000。
最后一行包含字符串 t(1≤∣t∣≤200000,仅含小写字母)——去年吉祥物的名称。
输出格式
若存在有效名称,输出 YES,否则输出 NO。
若存在有效名称,在第二行输出一个有效名称。输出的字符串长度不得超过 1000000 且仅含小写字母。可以证明,若存在有效名称,则必存在满足此额外约束的解。
若有多个解,输出任意一个即可。
输入输出样例
输入#1
2 porto euc prague
输出#1
YES poretuco
输入#2
6 credit debit money rich bank capitalism trap
输出#2
YES moncrdebditeychankpitalism
输入#3
2 axiom choice io
输出#3
NO
输入#4
4 aaa aab abb bbb ba
输出#4
YES aaabbb
说明/提示
第一个样例中,必须作为子序列的单词是 porto 和 euc,而禁止作为子序列的单词是 prague。存在多个有效名称,例如 poretuco 或 xxxpppeortoucyyyy。
若选择 poretuco 作为名称,可验证 porto 和 euc 是其子序列(例如高亮显示为 POReTucO 和 porEtUCo),而 prague 不是。
字符串 poretuc 无效,因其不包含 porto 作为子序列。字符串 poretucoague 也无效,因其包含 prague 作为子序列。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?