#P7668. [JOI2018] Dango Maker
[JOI2018] Dango Maker
题目背景
你是一名专业的糕点师,制作团子,日本甜饺子。现在,你要串饺子了。
题目描述
饺子被放置在具有 行和 列的单元格网格上。每个单元格包含一个饺子。每个饺子的颜色是红色()、绿色()或 白色()。
您将从单元格中选择三个连续的饺子,并将它们串成一根棍子。所选的三个连续饺子的方向必须是从左到右,或从上到下。
现在,您要按此顺序制作颜色为红色、绿色、白色的饺子串。你想做尽可能多的饺子串。串到棍子上的饺子的顺序必须与从单元格中选择的饺子的顺序相同。一个饺子上不能串多根棍子。
你能做多少串饺子?
现给定放置在单元格上的饺子的颜色,请编写一个程序来计算您可以制作的饺子的最大数量。颜色必须按此顺序为红色、绿色、白色。
输入格式
输入的第一行包含两个空格分隔的整数 和 。接下来的 行的第 行包含大小为 的字符串,由 、 或 组成。该字符串的第 个字符是从上数第 行、从左数第 列的饺子的颜色。
输出格式
输出一个整数饺子串的最大数量。
3 4
RGWR
GRGG
RGWW
3
4 4
RGWR
GRRG
WGGW
WWWR
4
提示
数据规模与约定
对于 的数据,,,,。
- Subtask ( points):,。
- Subtask ( points):,。
- Subtask ( points):没有额外的限制。
样例说明
对于样例 :你能制作 串饺子。
- 您从顶部的第一行和左侧的第一列中选择三个连续的饺子。方向是从左到右。然后,你按照这个顺序把它们串成一串。
- 您从上数第一行和左数第 列中选择三个连续的饺子。方向是从上到下。然后,你按照这个顺序把它们串成一串。
- 您从上数第三行和左数第一列中选择三个连续的饺子。方向是从左到右。然后,你按照这个顺序把它们串成一串。
因为你不能做 串,所以输出 。
对于样例 :你能制作 串饺子。
- 您从顶部的第一行和左侧的第一列中选择三个连续的饺子。方向是从左到右。然后,你按照这个顺序把它们串成一串。
- 您从顶部的第一行和左侧的第 4 列中选择三个连续的饺子。方向是从上到下。然后,你按照这个顺序把它们串成一串。
- 您从上数第二行和左数第二列中选择三个连续的饺子。方向是从上到下。然后,你按照这个顺序把它们串成一串。
- 您从上数第二行和左数第三列中选择三个连续的饺子。方向是从上到下。然后,你按照这个顺序把它们串成一串。
因为你不能做 串,所以输出 。
题目说明:
来源于 The 17th Japanese Olympiad in Informatics (JOI 2017/2018) Final Round 的 T3:Dango Maker。
由 @求学的企鹅 翻译整理。