冲刺noip2011复赛提高组模拟试题----字谜(pascal语言)

[题目描述]有三个单词,第三个能不能由前两个构成,这里说的构成是指前两个单词的字母在第三个单词中出现的相对位置不变。 如,"tcraete"可以由"cat"和"tree"构成;而"cttaree" 不能由"cat"和"tree"构成。
[输入]多组测试数据。
第一行一个整数T(T<=100)表示测试数据个数。
三个字符串A,B,C,其中C长度等于A长度+B长度,但是不一定包含A和B的所有字母,A和B的长度在[1,200]。
[输出]T行,每行输出Yes或者No,表示C能否由A和B构成。
[样例输入]3
cat
tree
tcraete
cat
tree
catrtee
cat
tree
cttaree
[样例输出]
Yes
Yes
No

状态转移方程为:dp[i][j]=(((result[i+j-1]==s1[i-1])&&dp[i-1][j])||((result[i+j-1]==s2[j-1])&&dp[i][j-1]))
求pascal语言的状态转移方程

if ((result[i+j-1]=s1[i-1])and(dp[i-1,j]))or((result[i+j-1]=s2[j-1])and(dp[i,j-1])) then
dp[i,j]:=true
else
dp[i,j]:=false;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-24
看起来好难
第2个回答  2011-10-26
相似回答