1279: 字串变换

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:11 解决:5

题目描述

已知有两个字串 A$, B$ 及一组字串变换的规则(至多6个规则):
A1$ -> B1$
A2$ -> B2$
规则的含义为:在 A$中的子串 A1$ 可以变换为 B1$、A2$ 可以变换为 B2$ …。
例如:A$='abcd' B$='xyz'
变换规则为:
‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’

则此时,A$ 可以经过一系列的变换变为 B$,其变换的过程为:
‘abcd’->‘xud’->‘xy’->‘xyz’

共进行了三次变换,使得 A$ 变换为B$。

输入

第一行为A$ 和B$,接下来有一组字串变换的规则(至多6个规则),每行一个规则。
A1$ B1$ \
A2$ B2$ |-> 变换规则
... ... /
所有字符串长度的上限为 20。

输出

若在 30 步(包含 30步)以内能将 A$ 变换为 B$ ,则输出最少的变换步数;否则输出"NO ANSWER!"

样例输入 复制

abcd xyz
abc xu
ud y
y yz

样例输出 复制

3