QOJ.ac

QOJ

Límite de tiempo: 3 s Límite de memoria: 512 MB Puntuación total: 100

#3837. 匹配系统

Estadísticas

作为安全部门的负责人,你需要检查公司内部的一个古老匹配系统。

该系统接收两个字符串:一个待匹配字符串和一个模式字符串,并判断前者是否能与后者匹配。待匹配字符串是一个严格的二进制字符串(即仅包含 01),模式字符串由四种字符组成:01*^。其中 * 表示匹配零个或多个任意二进制字符,^ 表示匹配恰好一个二进制字符。

系统有两种匹配方法:最大匹配和最小匹配。

考虑两个字符串的起始位置。最大匹配方法会根据模式字符串的当前字符做出不同的决策:

  • *:系统将枚举 $i$ 从 $L$ 到 $0$,其中 $L$ 是待匹配字符串的剩余长度。在每次枚举开始前,系统消耗 $1$ 单位能量。然后,系统临时假设模式字符串中的当前 * 匹配待匹配字符串中连续的 $i$ 个字符,并尝试递归匹配两个字符串的剩余部分。只要有一次尝试成功,系统就会放弃剩余的枚举并停止整个系统。否则,它将尝试下一次枚举,直到所有尝试都已完成,最后返回到上一个 * 的枚举状态。
  • 0, 1:如果待匹配字符串已耗尽,系统将停止并返回到上一个 * 的枚举状态。否则,它消耗 $1$ 单位能量来比较模式字符串和待匹配字符串的当前字符。如果结果相同,它将继续分析这两个字符串的剩余位置;否则,返回到上一个 * 的枚举状态。
  • ^:如果待匹配字符串已耗尽,系统将停止并返回到上一个 * 的枚举状态。否则,它消耗 $1$ 单位能量并继续处理两个字符串的下一个位置。

当模式字符串耗尽时,系统会同时检查待匹配字符串。如果待匹配字符串也已耗尽,它将返回“Yes”并停止整个过程;否则,它将返回到上一个 * 的枚举状态。在尝试所有可能且未找到匹配方法后,系统最终将返回“No”。

最小匹配方法执行类似的操作,区别仅在于 * 的枚举顺序(即枚举 $i$ 从 $0$ 到 $L$)。

这两种匹配方法似乎效率不高,因此你想破解它们。请为每种匹配方法分别构造一个长度为 $n$ 的模式字符串和一个待匹配字符串,使得系统回答“Yes”且能量消耗尽可能大。

输入格式

每个测试文件中仅包含一个测试用例。 第一行包含一个整数 $n$ ($1 \le n \le 10^3$),表示需要构造的字符串长度。

输出格式

请在头 3 行输出最大匹配方法的模式字符串、待匹配字符串以及能量消耗。然后在接下来的 3 行中输出最小匹配方法的模式字符串、待匹配字符串以及能量消耗。

如果有多种构造方式,输出其中任意一种即可。

能量消耗可能非常大,因此你需要输出其对 $(10^9 + 7)$ 取模后的值。注意,这仅是为了方便起见,你需要在取模前使能量消耗最大化。

样例

输入 1

3

输出 1

*0*
011
8
**1
101
7

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.