2176: 【2002年提高组】字串变换

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

题目描述

已知有两个字串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$。
接下来若干行输入变换规则:
A$ B$
A1$ B1$ \
A2$ B2$  |-> 变换规则
... ...      /
所有字符串长度的上限为 20。


输出

对于每组输入数据,若在10步(包含10步)以内能将A$变换为B$,则输出最少的变换步数,否则输出"NO ANSWER!"。


样例输入 复制

abcd wyz
abc xu
ud y
y yz

样例输出 复制

3