CF633C Spy Syndrome 2

题目描述

在观察了“Spy Syndrome”的结果后,Yash 认识到了自己的错误。他现在相信,像 Siddhant 这样的超级间谍绝不会使用像恺撒密码那样基础且古老的密码。经过数周对 Siddhant 所用句子的研究,Yash 发现了一种新的加密技术。 对于一个给定的句子,加密过程如下: 1. 将句子的所有字母转换为小写。 2. 分别将句子中的每个单词单独反转。 3. 移除句子中的所有空格。 例如,对于句子 Kira is childish and he hates losing 加密后得到的字符串是: ariksihsidlihcdnaehsetahgnisol 现在,Yash 得到了一个已经加密的字符串和一个单词列表。请你帮助他还原出一个仅由列表中的单词组成的原始句子。注意,每个单词都可以在句子中重复使用多次。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 10000$),表示密文的长度。 第二行包含 $n$ 个小写英文字母,表示密文 $t$。 第三行包含一个整数 $m$($1 \leq m \leq 100000$),表示提供的单词数量。接下来的 $m$ 行,每行包含一个非空单词 $w_{i}$($|w_{i}| \leq 1000$),由大小写英文字母组成。保证所有单词的总长度不超过 $1000000$。

输出格式

输出一行,即还原得到的原始句子。保证至少存在一个解。如果有多种答案,你可以输出任意一种。

说明/提示

在样例 2 中,可能有多个合法输出,比如“HI there HeLLo”和“HI there hello”,你可以输出其中任意一个。 由 ChatGPT 5 翻译