#761. 矩阵中最大的三个菱形和

矩阵中最大的三个菱形和

题目描述

给你一个 mnm * n 的整数矩阵 grid 。菱形和 指的是 grid 中一个正菱形 边界 上的元素之和。本题中的菱形必须为正方形旋转45度,且四个角都在一个格子当中。下图是四个可行的菱形,每个菱形和应该包含的格子都用了相应颜色标注在图中。

注意,菱形可以是一个面积为 0 的区域,如上图中右下角的紫色菱形所示。

请你按照 降序 返回 grid 中三个最大的 互不相同的菱形和 。如果不同的和少于三个,则将它们全部返回。

输入格式

第一行m,nm,n(空格隔开)

第2行到m+1m+1行矩阵的数据。(空格隔开)

输出格式

一行,3个数(空格隔开)

样例 #1

样例输入 #1

5 5
3 4 5 1 3
3 3 4 2 3
20 30 200 40 10
1 5 5 4 1
4 3 2 2 5

样例输出 #1

228 216 211

样例 #2

样例输入 #2

1 3
8 8 8

样例输出 #2

8

提示

输出:228 216 211 解释:最大的三个菱形和如图所示。

  • 蓝色:20 + 3 + 200 + 5 = 228
  • 红色:200 + 2 + 10 + 4 = 216
  • 绿色:5 + 200 + 4 + 2 = 211

1<=m,n<=1001 <= m, n <= 100

1<=grid[i][j]<=1051 <= grid[i][j] <= 10^5