#JCPC2023D. AnotherWordle

AnotherWordle

Time limit: 1 second

Memory limit: 256 megabytes

题目描述

源神 在玩 Wordle 的时候爱查字典,但是老是猜不准,而且经常只能猜中一个位置,所以 源神 自己做了另一款游戏 —— Another Wordle。

因为不喜欢频繁翻找字典,源神 的 Another Wordle 替你把字典准备好了。

Another Wordle 会给你一个大小为 nn 的字典,其中包含了长度为 mm 的 nn 个字符串。

然后再给你两个长度为 mm 的单词 ss 和 tt ,注意 ss 和 tt 可能 不被 包含在字典当中。

然后你需要根据一下的变换规则,将 ss 变换为 tt:

  • 每次变换形成的新字符串必须包含在字典当中
  • 每次变换只能修改一个位置的字符,如:genshin 修改为 genshim

在经过若干次变换之后,如果 ss 能变换为 tt,我们的目的则是求出最小的变换序列所包含的单词数目,如果 ss 不能变换为 tt,则输出 −1-1。

输入

第一行包含两个整数 nn 和 mm。

接下来 nn 行包含 nn 个长度为 mm 的字符串,代表字典中的字符串。

最后两行包含两个字符串,代表 ss 和 tt。

输出

如果 ss 能变换为 tt,则输出最小的变换序列所包含的单词数目,如果不能,则输出 −1-1。

限制

1≤n≤50001 \le n \le 5000, 1≤m≤101 \le m \le 10

保证字典中的字符串互不相同。

ss、tt、字典中的字符串均由小写英文字母组成。

s≠ts \neq t

6 3
got
aot
aog
bot
bog
dog
git
dog
5

样例解释

一个最短转换序列是 "git" →\rightarrow "got" →\rightarrow "aot" →\rightarrow "aog" →\rightarrow "dog", 返回单词数量 55。