QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#8497. 蓄电池

Statistics

研究一种新的数字信息存储设备。设备上的信息以单元序列的形式存储,每个单元处于“+”或“-”两种状态之一,因此每个单元存储一位信息。

我们将“片段”定义为一组状态相同的相邻单元,其左侧要么没有单元,要么是一个状态相反的单元;其右侧要么没有单元,要么是一个状态相反的单元。

写操作允许选择任意一对长度不同的相邻片段,并将较短片段中所有单元的状态取反,从而将两个或三个相邻片段合并为一个片段。

请编写一个程序,根据给定的初始状态序列和目标状态序列,判断是否可以通过一系列写操作从初始序列得到目标序列。

输入格式

第一行包含一个正整数 $q$,表示测试用例的数量。 接下来的 $q$ 行,每行包含两个由“+”和“-”组成的非空序列 $s_i$ 和 $t_i$,中间用空格隔开,且长度相等。这表示在第 $i$ 个测试用例中,需要判断能否从初始状态序列 $s_i$ 得到目标状态序列 $t_i$。

输出格式

输出应包含 $q$ 行,如果可以从初始状态序列 $s_i$ 得到目标状态序列 $t_i$,则第 $i$ 行输出“Yes”,否则输出“No”。

样例

输入 1

3
++- +++
++-- ++++
++-+--+- ++++++++

输出 1

Yes
No
Yes

输入 2

3
++-+-- ++----
++-+-- +++---
-++- -++-

输出 2

Yes
No
Yes

子任务

子任务 分值 约束条件 依赖子任务
1 20 $\sum s_i \leqslant 16$,$t_i$ 仅由“+”组成
2 30 $\sum s_i \leqslant 1000$,$t_i$ 仅由“+”组成 1
3 20 $\sum s_i \leqslant 10^6$,$t_i$ 仅由“+”组成 1, 2
4 20 $\sum s_i \leqslant 1000$ 1, 2
5 10 $\sum s_i \leqslant 10^6$ 1–4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.