#698. 裁切矩形

裁切矩形

大样例下载

题目描述

有一个 N×MN×M 的网格图,每个方格中填写着一个数字,每个数字只可能是 1, 2, 3 中的一个。

你要从网格图中裁切下若干个矩形长条,要求每个矩形长条恰好包含三个连续方格,并且三个方格中的数字恰好组成 1 2 3。注意:矩形长条是不能翻转的,即如果矩形长条是横着的,要求从左到右组成 1 2 3;如果矩形长条是竖着的,要求从上到下组成 1 2 3

问:你最多能裁切下多少个符合要求的长条?

输入格式

第一行:两个整数 N,MN, M

接下来是一个 N×MN×M 的数字矩阵,表示网格图中填写的数字,同一行中的数字之间无空格。

输出格式

一个整数,表示答案。

样例输入

3 5
12313
32122
21231

样例输出

2

样例解释

裁切方案可能不唯一,以下是一种可能的裁切方案:

1 2 3 1 3

3 2 1 2 2

2 1 2 3 1

数据范围

本题采用子任务捆绑测试,每个子任务下有多个测试点,只有通过子任务下全部测试点才可以得到相应子任务的分数。

子任务编号 分值 N,MN, M 的范围
11 1515 N,M5N, M ≤ 5
22 2020 N,M10N, M ≤ 10
33 6565 N,M5000N, M ≤ 5000