AT_code_thanks_festival_2015_h 穴あきケーキ

题目描述

圣诞节临近,你决定为朋友制作一个独特的有孔圣诞蛋糕。 这个特殊的蛋糕是一个 $R$ 行 $C$ 列的矩形蛋糕坯。我们将矩形的每个位置称为“区域”,例如,第 $i$ 行,第 $j$ 列的位置记为区域 $(i, j)$。如果你吃掉这个区域,你将获取 $C_{i,j}$ 千卡路里。矩形的左上角为区域 $(1, 1)$,右下角为区域 $(R, C)$。 制作有孔蛋糕需要遵循以下步骤: 1. 首先选择四个整数 $a, b, c, d$,要求满足 $1 \le a < b \le R, 1 \le c < d \le C, b - a \ge 2, d - c \ge 2$。接着,从蛋糕坯中切下以 $(a, c)$ 为左上角、$(b, d)$ 为右下角的矩形部分。 2. 在这个矩形部分中,选择一个不位于边界的区域 $(e, f)$,其中 $a+1 \le e \le b-1, c+1 \le f \le d-1$,然后将其挖空,剩下的部分即成为有孔蛋糕。 希望吃这个蛋糕的朋友要求摄入的卡路里恰好为 $K$ 千卡。你的任务是计算出符合条件的有孔蛋糕的所有可能组合,即找到符合以上条件的整数 $a, b, c, d, e, f$ 的所有配置数量。

输入格式

输入通过标准输入按以下格式给出: - 第一行包含三个整数:$R$ 行数 $(3 \le R \le 350)$、$C$ 列数 $(3 \le C \le 350)$ 以及朋友期望的卡路里量 $K$ $(0 \le K \le 999,999)$。 - 接下来的 $R$ 行,每行一个长度为 $C$ 的字符串 $s_i$,描述蛋糕坯的卡路里信息。字符串 $s_i$ 中的每个字符都是从 `1` 到 `9` 的数字,表示对应区域 $(i, j)$ 的卡路里值 $C_{i,j}$。

输出格式

输出一个整数,表示符合条件的有孔蛋糕的总数量。在输出结尾处换行。 ## 示例说明 ### 示例说明 1 蛋糕坯如表所示: ``` 1 1 1 1 2 1 7 3 1 2 1 1 1 1 1 9 ``` 例如:选择 $a = 2, b = 4, c = 1, d = 4$,切下的部分为: ``` 1 1 2 1 1 7 3 1 1 1 1 1 ``` 并在 $(e, f) = (3, 2)$ 处挖一个孔,有孔蛋糕的形状为: ``` 1 1 2 1 1 * 3 1 1 1 1 1 ``` 此时总摄入卡路里为 $14$,满足条件。再如:选择 $a = 1, b = 3, c = 3, d = 5, e = 2, f = 4$ 也满足条件。 ### 示例说明 2 即使有孔蛋糕的卡路里分布相同,只要选择的切割位置或者挖孔位置不同,也视为不同的蛋糕。 ### 示例说明 3 有些情况,可能没有满足条件的有孔蛋糕。 **本翻译由 AI 自动生成**

说明/提示

### Sample Explanation 1 ケーキ生地は下表のようになっています。 5 4 3 1 1 1 1 2 1 1 1 7 3 1 2 1 1 1 1 9例えば、$ a $ = $ 2 $, $ b $ = $ 4 $, $ c $ = $ 1 $, $ d $ = $ 4 $ として切り出した場合、以下の領域が切り出されます。 1 1 2 1 1 7 3 1 1 1 1 1さらに、$ e $ = $ 3 $, $ f $ = $ 2 $ として穴を開けると、穴あきケーキは以下の形状となります (`\*` は穴を開けた場所を表す)。 1 1 2 1 1 \\\* 3 1 1 1 1 1このとき、摂取カロリーは、$ 1+1+2+1+1+3+1+1+1+1+1 $ = $ 14 $ となり、条件を満たします。 他にも $ a $ = $ 1 $, $ b $ = $ 3 $, $ c $ = $ 3 $, $ d $ = $ 5 $, $ e $ = $ 2 $, $ f $ = $ 4 $ のときに条件を満たします。 ### Sample Explanation 2 穴あきケーキを構成する領域のカロリーの配置が同じでも、切り出す場所、穴を開ける場所が異なれば異なるケーキとして数えます。 ### Sample Explanation 3 条件を満たす穴あきケーキが存在しない場合もあります。