#1732. 字串变换

字串变换

已知有两个字串 AA, BB 及一组字串变换的规则(至多 66 个规则):

A1B1A_1 \to B_1

A2B2A_2 \to B_2

规则的含义为:在 AA 中的子串 A1A_1 可以变换为 B1B_1A2A_2 可以变换为 B2B_2…

例如:AAabcd BBxyz

变换规则为:

abc \to xu ud \to y y \to yz

则此时,AA 可以经过一系列的变换变为 BB,其变换的过程为:

abcd \to xud \to xy \to xyz

共进行了三次变换,使得 AA 变换为 BB

注意,一次变换只能变换一个子串,例如 AAaa BBbb

变换规则为:

a \to b

此时,不能将两个 a 在一步中全部转换为 b,而应当分两步完成。

输入格式

输入格式如下:

AA BB A1A_1 B1B_1 A2A_2 B2B_2 … …

第一行是两个给定的字符串 AABB

接下来若干行,每行描述一组字串变换的规则。

所有字符串长度的上限为 2020

输出格式

若在 1010 步(包含 1010 步)以内能将 AA 变换为 BB ,则输出最少的变换步数;否则输出 NO ANSWER!

输入样例:

abcd xyz
abc xu
ud y
y yz

输出样例:

3