#HLOI20258. 【HLOI2025】公园长椅的鸽子

【HLOI2025】公园长椅的鸽子

题目描述

城市公园中有一排长椅,排列成 nnmm 列的网格。每个长椅上可能有若干只鸽子(数量为非负整数)。晨跑爱好者小丁计划从左上角的长椅 (1,1)(1,1) 出发,前往右下角的长椅 (n,m)(n,m),移动规则是每一步只能向右或向下移动一格。

小丁发现,当他在一个有鸽子的长椅(鸽子数 1\geq 1)上停留时,下一站不能选择另一个有鸽子的长椅停留(否则会被鸽子打扰)。但如果他在没有鸽子的长椅(鸽子数 =0=0)上停留,下一站可以选择任意长椅(无论是否有鸽子)。

小丁希望收集尽可能多的鸽子(路径上所有停留过的长椅的鸽子数之和最大),同时满足上述规则。请计算他能收集的最大鸽子数。

输入格式

第一行包含两个整数 nnmm1n,m501 \leq n, m \leq 50),表示网格的行数和列数。
接下来 nn 行,每行 mm 个整数,表示每个长椅上的鸽子数(0a[i][j]1040 \leq a[i][j] \leq 10^4)。

输出格式

输出一个整数,表示小丁能收集的最大鸽子数。

样例输入

3 3
1 2 0
0 3 4
5 0 6

样例输出

12

提示

样例解释:最优路径为 $(1,1) \rightarrow (2,1) \rightarrow (3,1) \rightarrow (3,2) \rightarrow (3,3)$,收集的鸽子数为 1+0+5+0+6=121 + 0 + 5 + 0 + 6 = 12