#joi2014ho1. [joi2014ho1]JOI 紋章 (JOI Emblem)
[joi2014ho1]JOI 紋章 (JOI Emblem)
任务
给定旧的 JOI 旗和 JOI 纹章的信息,编写一个程序来确定新的 JOI 旗中包含的 JOI 纹章的最大个数。
输入
从标准输入读取以下数据。
- 第 1 行包含两个整数 M 和 N,用空格分隔。表示 JOI 旗是由 M 行 N 列的正方形组成的。
- 接下来的 M 行中的每一行包含一个由 N 个字符组成的字符串。每个字符可以是
J
、O
或I
,其中每行中的第 i 个字符()表示旧 JOI 旗中第 i 行,第 j 个字符()表示旧 JOI 旗中第 i 行,第 j 列的正方形中的字符。 - 接下来的两行中,每行包含两个字符。每个字符可以是
J
、O
或I
,其中每行中的第 i 个字符()表示 JOI 纹章中第 i 行,第 j 个字符()表示 JOI 纹章中第 i 行,第 j 列的正方形中的字符。
输出
将新的 JOI 旗中包含的 JOI 纹章的最大个数作为一个整数输出到标准输出中。
限制条件
所有输入数据满足以下条件:
- 。
- 。
小任务
小任务 1 [30 分]
满足以下条件:
- 。
- 。
小任务 2 [70 分]
没有额外的限制。
输入示例 1
3 5
JOIJO
IJOOO
IIJIJ
JO
IJ
输出示例 1
3
旧的 JOI 旗和 JOI 纹章如题目中的示例所示。通过使用白纸并将其粘贴在旧 JOI 旗的某个正方形上,我们可以将第 2 行,第 4 列的正方形更改为 J
,结果如下所示。
更改一个正方形的例子
在更改后的 JOI 旗中,存在三个区域与 JOI 纹章具有相同的配置,如下所示。
与 JOI 纹章具有相同的配置区域
由于不存在包含四个或更多 JOI 纹章的新 JOI 旗,因此新 JOI 旗中包含的 JOI 纹章的最大个数为 3。
输入示例 2
2 6
JOJOJO
OJOJOJ
OJ
JO
输出示例 2
2
请注意,可能存在不使用白纸即可获得最大数量的情况。
输入示例 3
2 2
JI
IJ
JJ
JJ
输出示例 3
0
在这个特定的输入示例中,不存在任何新的 JOI 旗中包含 JOI 纹章。