题目描述
已知有两个字串 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。
输入
第一行为两个字符串,第二行至文件尾为变换规则
AB
A1B1 \
A2B2 |-> 变换规则
... ... / 所有字符串长度的上限为 20。
输出
若在 10 步(包含 10步)以内能将 A变换为变换为B ,则输出最少的变换步数;否则输出"NO ANSWER!"
样例输入
abcd xyz abc xu ud y y yz
样例输出
3
(⊙o⊙)…
大概并不是很简单,我以为BFS就行...
但是.....
时间超限...
尴尬,GG
(⊙o⊙)…双向BFS弄完了就只剩下一点string的东西了
#include#include #include #include #include #include #include
RE的,谁大概给我看看为什么...
#include#include #include
AC的...大概我还是不明白为什么RE...