luogu#P10653. 「ROI 2017 Day 2」存储器

「ROI 2017 Day 2」存储器

题目描述

给定一个字符串 SS,设其长度为 nn,每个字符要么是 + 要么是 -

定义一个片段SS 的一个子串 S[l,r]S[l,r] 满足下面三个条件:

  • l=1l=1 或者 Sl1SlS_{l-1} \ne S_l
  • r=nr=n 或者 Sr+1SrS_{r+1} \ne S_r
  • Sl=Sl+1==Sr1=SrS_l=S_{l+1}=\dots=S_{r-1}=S_r

定义一次变换为:

  • 选择 SS 的两个相邻长度不同的片段,改变长度较小的那个片段的所有字符为其相反字符。(+ 变为 -- 变为 +

现在有 qq 次询问,每次询问给出只包含 +- 并且长度相同的字符串 Si,TiS_i,T_i,请你判断 SiS_i 是否能够通过若干次变换得到 TiT_i

输入格式

第一行一个整数 qq 表示询问次数。

接下来 qq 行每行两个字符串 Si,TiS_i,T_i,含义如题所示。

输出格式

对于每次询问输出一行一个字符串 YesNo 表示是否可以完成题目所给要求。

3
++- +++
++-- ++++
++-+--+- ++++++++
Yes
No
Yes
3
++-+-- ++----
++-+-- +++---
-++- -++-
Yes
No
Yes

提示

【数据范围】

注:本题只放部分数据,完整数据请左转 LOJ P2770 评测。

len=Silen=\sum |S_i|

子任务编号 分值 1len1 \le len \le 特殊性质
11 2020 1616 TiT_i 中没有 -
22 3030 10310^3
33 2020 10610^6
44 10310^3
55 1010 10610^6