A212 | 字串变换
来源NOIP提高组 / 2002
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
已知有两个字串 $A,B$ 及一组字串变换的规则(至多 $6$ 个规则),形如:
- $A_1\to B_1$。
- $A_2\to B_2$。
规则的含义为:在 $A$ 中的子串 $A_1$ 可以变换为 $ B_1$,$A_2$ 可以变换为 $B_2\cdots$。
例如:$A=\texttt{abcd}$,$B=\texttt{xyz}$,
变换规则为:
- $\texttt{abc}\rightarrow\texttt{xu}$,$\texttt{ud}\rightarrow\texttt{y}$,$\texttt{y}\rightarrow\texttt{yz}$。
则此时,$A$ 可以经过一系列的变换变为 $B$,其变换的过程为:
- $\texttt{abcd}\rightarrow\texttt{xud}\rightarrow\texttt{xy}\rightarrow\texttt{xyz}$。
共进行了 $3$ 次变换,使得 $A$ 变换为 $B$。
- $A_1\to B_1$。
- $A_2\to B_2$。
规则的含义为:在 $A$ 中的子串 $A_1$ 可以变换为 $ B_1$,$A_2$ 可以变换为 $B_2\cdots$。
例如:$A=\texttt{abcd}$,$B=\texttt{xyz}$,
变换规则为:
- $\texttt{abc}\rightarrow\texttt{xu}$,$\texttt{ud}\rightarrow\texttt{y}$,$\texttt{y}\rightarrow\texttt{yz}$。
则此时,$A$ 可以经过一系列的变换变为 $B$,其变换的过程为:
- $\texttt{abcd}\rightarrow\texttt{xud}\rightarrow\texttt{xy}\rightarrow\texttt{xyz}$。
共进行了 $3$ 次变换,使得 $A$ 变换为 $B$。
输入格式
第一行有两个字符串 $A,B$。
接下来若干行,每行有两个字符串 $A_i,B_i$,表示一条变换规则。
接下来若干行,每行有两个字符串 $A_i,B_i$,表示一条变换规则。
输出格式
若在 $10$ 步(包含 $10$ 步)以内能将 $A$ 变换为 $B$,则输出最少的变换步数;否则输出
NO ANSWER!。输入输出样例
输入 #1
abcd xyz abc xu ud y y yz
输出 #1
3
对于 $100\%$ 数据,保证所有字符串长度的上限为 $20$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted