#101. 字串变换

    ID: 101 传统题 1000ms 128MiB 尝试: 355 已通过: 58 难度: 8 上传者: 标签>搜索BFS竞赛NOIP广度优先搜索双向BFS2002提高组

字串变换

题目描述

已知有两个字串 A,B\red{A, B} 及一组字串变换的规则(至多6\red 6个规则):

A1−>B1\red{A_1 -> B_1}

A2−>B2\red{A_2 -> B_2}

…

规则的含义为:在 A\red A 中的子串 A1\red{A_1} 可以变换为 B1\red{B_1}、A2\red{A_2} 可以变换为 B2\red{B_2} …。

例如:A=’abcd’\red{A=’abcd’} B=’xyz’\red{ B=’xyz’}

变换规则为:

‘abc’−>‘xu’\red{‘abc’->‘xu’} ‘ud’−>‘y’\red{‘ud’->‘y’} ‘y’−>‘yz’\red{‘y’->‘yz’}

则此时,A\red A 可以经过一系列的变换变为B\red B,其变换的过程为:

‘abcd’−>‘xud’−>‘xy’−>‘xyz’\red{‘abcd’->‘xud’->‘xy’->‘xyz’}

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

输入格式

输入格式如下:

A\red A B\red B

A1\red{A_1} B1\red{ B_1}

A2\red{A_2} B2\red{B_2}

|-> 变换规则 … … /

所有字符串长度的上限为20\red{ 20}。

输出格式

若在 10\red{10} 步(包含10\red{ 10}步)以内能将A\red A 变换为B\red B ,则输出最少的变换步数;否则输出”NOANSWER!”\red{”NO ANSWER!”}

样例

输入样例

abcd xyz
abc xu
ud y
y yz

输出样例

3