当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

3803:Repeated Substitution with Sed

题目描述
Do you know “sed,” a tool provided with Unix? Its most popular use is to substitute every occurrence of a string α contained in the input string (actually each input line) with another string β. More precisely, it proceeds as follows.

1. Within the input string, every non-overlapping (but possibly adjacent) occurrences of α are marked. If there is more than one possibility for non-overlapping matching, the leftmost one is chosen.
2. Each of the marked occurrences is substituted with β to obtain the output string; other parts of the input string remain intact.

For example, when α is “aa” and β is “bca”, an input string “aaxaaa” will produce “bcaxbcaa”, but not “aaxbcaa” nor “bcaxabca”. Further application of the same substitution to the string “bcaxbcaa” will result in “bcaxbcbca”, but this is another substitution, which is counted as the second one.

In this problem, a set of substitution pairs (αi, βi) (i = 1, 2, . . . , n), an initial string γ, and a final string δ are given, and you must investigate how to produce δ from γ with a minimum number of substitutions. A single substitution (αi, βi) here means simultaneously substituting all the non-overlapping occurrences of αi, in the sense described above, with βi.

You may use a specific substitution (αi, βi) multiple times, including zero times.
输入解释
The input consists of multiple datasets, each in the following format.


n
α1 β1
α2 β2
.
.
.
αn βn
γ
δ


n is a positive integer indicating the number of pairs. αi and βi are separated by a single space. You may assume that 1 <= |αi| < |βi| <= 10 for any i (|s| means the length of the string s), αi = αj for any i = j, n <= 10 and 1 <= |γ| < |δ| <= 10. All the strings consist solely of lowercase letters. The end of the input is indicated by a line containing a single zero.
输出解释
For each dataset, output the minimum number of substitutions to obtain δ from γ. If δ cannot be produced from γ with the given set of substitutions, output -1.
输入样例
2
a bb
b aa
a
bbbbbbbb
1
a aa
a
aaaaa
3
ab aab
abc aadc
ad dee
abc
deeeeeeeec
10
a abc
b bai
c acf
d bed
e abh
f fag
g abe
h bag
i aaj
j bbb
a
abacfaabe
0
输出样例
3
-1
7
4

该题目是Virtual Judge题目,来自 北京大学POJ

题目来源 Tokyo 2009

源链接: POJ-3803

最后修改于 2020-10-29T07:11:56+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
1000 65536