QOJ.ac

QOJ

时间限制: 1 s 内存限制: 128 MB 总分: 100

#16585. 密码

统计

在对宇宙进行例行探索时,巴尔干航天局(BSA)的成员发现了外星(ET)智能的痕迹。

更具体地说,他们发现了一批矩形金属板,上面刻有外星语言写成的信息。每块金属板包含一个 $n$ 行 $m$ 列的二维字符数组,数组中的每个元素都是一个可打印的 ASCII 字符,其对应的 ASCII 码在 $32 \dots 127$ 范围内。此外,每块金属板上还刻有两个整数,我们将其命名为 $a$ 和 $b$。

在对这些金属板进行研究后,BSA 的专家得出结论:外星人的信息可以通过一个“密码”(即解密并理解信息的密钥)来解密,而这个密码就隐藏在同一块金属板的矩形数组中。

研究人员发现,该密码是信息中的一个大小为 $a$ 行 $b$ 列的矩形子区域,它在数组中恰好出现 $k$ 次($k \ge 3$)。包含该密码的子区域可能会相互重叠。同时已知,金属板中任何其他 $a$ 行 $b$ 列的子区域的出现次数都不会超过 $k - 2$ 次。

例如,如果金属板上的矩形数组大小为 $8 \times 10$(即 $n = 8, m = 10$),密码在板上出现 $5$ 次($k = 5$),且其大小为 $3 \times 3$($a = 3, b = 3$),那么该数组中任何其他 $3 \times 3$ 的子数组的出现次数都不会超过 $3$ 次。

请你编写一个程序,在给定代表外星人信息的矩形数组以及金属板上刻有的整数 $a$ 和 $b$ 的情况下,找出该密码以及它在金属板上出现的所有位置。

输入格式

第一行包含两个整数 $n$ 和 $m$,由空格隔开。

接下来的 $n$ 行,每行包含一个长度为 $m$ 的字符串。第 $i$ 行代表金属板上矩形数组的第 $i$ 行。

最后一行包含两个整数 $a$ 和 $b$,由空格隔开。

输出格式

第一行必须包含两个整数 $a$ 和 $b$,由空格隔开。这两个数应与输入文件中的数值完全相同。

接下来的 $a$ 行,每行应包含一个长度为 $b$ 的字符串,代表你找到的密码。

下一行必须包含整数 $k$,即你在数组中找到的该密码的出现次数。

接下来的 $k$ 行,每行包含两个由空格隔开的整数。这两个数必须代表你找到的密码在数组中每次出现的左上角(行,列)位置。你应该按照行号非递减的顺序输出这些位置对;若行号相同,则按列号递增的顺序输出。

样例

输入样例 1

8 10
qw.aba..f.
wq.bab.ff.
zx.cdc.K.R
c.ababa.es
x.babab.Ed
j.cdcdcaba
yo.k.k.bab
opu..l.cdc
3 3

输出样例 1

3 3
aba
bab
cdc
4
1 4
4 3
4 5
6 8

说明

数组及其中的 4 个密码实例展示如下:

数据范围

$5 \le n, m \le 1000$;$2 \le a \le n$;$2 \le b \le m$;$3 \le k \le 1000$。

行和列的编号从左上角开始,从 $1$ 开始计数。

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.