思维。
观察到在题目给定的两个操作下,,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