QOJ.ac

QOJ

Límite de tiempo: 2.0 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#9118. 翻转还是不翻转

Estadísticas

有 $N$ 张牌排成一排。初始时,如果字符串 $S$ 的第 $i$ 个字符为 1,则从左往右数第 $i$ 张牌正面朝上;如果为 0,则正面朝下。你可以执行最多 $10^6$ 次以下操作:

  • 将最右侧的牌移动到最左侧。如果移动的牌是正面朝上的,则翻转从左往右数第 $A_1, A_2, \dots, A_P$ 张牌。此外,你可以选择翻转从左往右数第 $B_1, B_2, \dots, B_Q$ 张牌,或者什么都不做。

经过这些操作,你希望最终从左往右数第 $i$ 张牌在字符串 $T$ 的第 $i$ 个字符为 1 时正面朝上,为 0 时正面朝下。请判断是否能在 $10^6$ 次或更少的操作内满足条件。如果可以,请输出能以最少操作次数达到该条件的序列。

输入格式

输入通过标准输入按以下格式提供:

$N$ $S$ $T$ $P$ $A_1 \ A_2 \ \dots \ A_P$ $Q$ $B_1 \ B_2 \ \dots \ B_Q$

  • 所有数值输入均为整数。
  • $1 \le N \le 5000$
  • $S$ 和 $T$ 均为长度为 $N$ 且仅由 0 和 1 组成的字符串。
  • $S \neq T$
  • $1 \le P, Q \le N$
  • $1 \le A_1 < A_2 < \dots < A_P \le N$
  • $1 \le B_1 < B_2 < \dots < B_Q \le N$

输出格式

如果无法在 $10^6$ 次或更少的操作内满足条件,输出 -1。如果可以满足,请按以下格式输出操作次数最少的操作序列:

$M$ $U$

其中 $M$ 是操作次数,$U$ 是一个长度为 $M$ 且仅由 0 和 1 组成的字符串,表示操作序列。如果 $U$ 的第 $i$ 个字符为 1,意味着在第 $i$ 次操作中,翻转从左往右数第 $B_1, B_2, \dots, B_Q$ 张牌。如果字符为 0,则不执行该翻转操作。

样例

样例输入 1

5
00001
00111
3
1 2 3
2
3 5

样例输出 1

4
1001

样例输入 2

4
0110
1000
2
1 2
4
1 2 3 4

样例输出 2

-1

说明

对于第一个样例,在第一次操作中,将最右侧的牌移到最左侧,牌的状态变为 10000。由于移动的牌是正面朝上的,我们翻转从左往右数第 $A_1, A_2, A_3$(第 1、2、3 张)牌,结果变为 01100。接下来,如果我们选择翻转从左往右数第 $B_1, B_2$(第 3、5 张)牌,状态变为 01001。继续按照输出样例执行,第二次操作后状态变为 01000,第三次操作后变为 00100,第四次操作后变为 00111。没有更少的操作次数能达到此结果,因此该输出样例是正确的。

对于第二个样例,无法在 $10^6$ 次操作内满足条件。

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.