思维。
观察到在题目给定的两个操作下,,m,h,y 三个字符的顺序没有什么影响。即任意一组无序的mhy可以通过两种操作下变成另外一种。(是的,大家可以自己手玩一下,尝试将mhy通过先增后删的方式转变为yhm)
所以我们只需要判断两个字符串的m,h,y的个数是否都相同,且去掉这三个字符后的字符串是否相同即可。
米小游是一名研究生,正在研究一种基于字符串操作的算法。他最近接到了一个字符串操作的任务,需要将给定的字符串 s
转化为目标字符串 t
。然而,他发现这个任务并不是一件简单的事情。因为他只能进行两种操作:删除 s
中的一个子序列 "mhy"
,或在 s
中添加一个子序列 "mhy"
。
例如,给定 s
为 "mhbdy"
,米小游进行一次操作后可以使 s
变成 "bd"
,或者变成 "mhmbhdyy"
。
米小游想知道,经过若干次操作后 s
是否可以变成 t
?
注:子序列在原串中的顺序也是从左到右,但可以不连续。
第一行输入一个正整数 q ,代表询问的次数。
接下来每两行为一次询问:每行均为一个字符串,分别代表 s
和 t
。
1≤q≤103
字符串的长度均不超过 103 。
输出 q
行,每行输入一行答案。若可以使 s
变成 t
,则输出 "Yes"
。否则输出 "No"
。
输入
3
mhbdy
bd
mhbdy
mhmbhdyy
mhy
abc
输出
Yes
Yes
No