CF173C Spiral Maximum

题目描述

我们考虑一个 $k×k$ 的正方形,被划分成 $1×1$ 的小方格。请注意,$k \geq 3$ 且为奇数。我们将按如下顺序涂色:从左上角方格开始,首先向右移动,然后向下,再向左、向上,然后再次向右,依此类推。若满足以下任一条件,将结束当前方向的移动:一是已经到达方格的边界,二是下一个方格之后的方格已经被涂色。若无法继续向任何方向移动并进行涂色,则结束涂色过程。由被涂色方格构成的图形称为螺旋线。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF173C/9bdc9b1befc556927df1bc6bdf8e832b185f9b78.png) 上图给出了 $k=3,5,7,9$ 下螺旋线的例子。 现在有一个 $n×m$ 的表格,每个单元格中包含一个数字。我们考虑由该表格单元格构成的所有可能的螺旋线,也就是说,考虑所有不超出表格边界的任意大小的螺旋线。我们求出所有螺旋线所覆盖单元格数字之和,并找到这些和中的最大值。

输入格式

第一行包含两个整数 $n$ 和 $m$($3 \leq n,m \leq 500$),表示表格的大小。 接下来的 $n$ 行,每行包含 $m$ 个用空格分隔的整数,第 $i$ 行的第 $j$ 个数字 $a_{ij}$($-1000 \leq a_{ij} \leq 1000$)表示表格第 $i$ 行第 $j$ 列的数字。

输出格式

输出一个整数,表示所有螺旋线中单元格数字之和的最大值。

说明/提示

在第一个样例中,最大和的螺旋线将覆盖表格中所有的 $1$。 在第二个样例中,螺旋线最多只能覆盖 $6$ 个 $1$。 由 ChatGPT 5 翻译