题目 3082

字串变换

查看题解 ↗GitHub ↗如何评测
题号
3082
时间限制
1000 ms
内存限制
128 MB
标签
搜索广度优先搜索双向BFS

已知有两个字串 AA, BB 及一组字串变换的规则(至多6个规则):

A1A_1 -> B1B_1

A2A_2 -> B2B_2

…

规则的含义为:在 AA 中的子串 A1A_1 可以变换为 B1B_1、A2A_2 可以变换为 B2B_2 …。

例如:AA=’abcd’ BB=’xyz’

变换规则为:

‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’

则此时,AA 可以经过一系列的变换变为 BB,其变换的过程为:

‘abcd’->‘xud’->‘xy’->‘xyz’

共进行了三次变换,使得 AA 变换为BB。

输入格式

输入格式如下:

AA BB
A1A_1 B1B_1 \
A2A_2 B2B_2 |-> 变换规则
… … /

所有字符串长度的上限为 20。

输出格式

若在 10 步(包含 10步)以内能将 AA 变换为 BB ,则输出最少的变换步数;否则输出”NO ANSWER!”

输入样例:

文本
abcd xyz
abc xu
ud y
y yz

输出样例:

文本
3

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3082 的公开数据

正在读取文件列表…

常用命令

题目 3082 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。