字串变换
时间限制:1秒 内存限制:256M
【题目描述】
已知有两个字串 \(S,T\) 及一组字串变换的规则:\(A_i\) -> \(B_i\),表示在 \(S\) 中的子串 \(A_i\) 可以变换为 \(B_i\)。
例如:\(S\)="abcd",\(T\)="xyz",有 3 个变换规则:
"abc" -> "xu"
"ud" -> "y"
"y" -> "yz"
则此时,S 可以经过三次变换变为 T,其变换的过程为:"abcd" -> "xud" -> "xy" -> "xyz"
【输入格式】
输入的第一行为两个字符串:\(S\) 和 \(T\)。
接下来的若干行,每行两个字符串:\(A_i\ B_i\),表示一个变换规则。
【输出格式】
若在 24 步(包含 24 步)以内能将 \(S\) 变换为 \(T\) ,则输出最少的变换步数;否则输出"NO ANSWER!"
【输入输出样例】
Input
abcd xyz
abc xu
ud y
y yz
Output
3
【数据限制】
\(100\%\) 的数据满足:所有字符串长度的上限为 20,至多6个规则。
【来源】
Mr.he