#P5014. 蜗牛寻宝
蜗牛寻宝
题目名称:蜗牛的宝藏路径
题目描述
蜗牛来到了一个神秘的矩形区域,该区域被划分为 行 列的格子,每个格子中都存放有一定数量的宝藏。蜗牛会选择一个格子作为起点,之后只能沿直线方向移动:要么一直向右走,要么一直向下走。
蜗牛有一个贪心的要求:移动路径上经过的格子,其宝藏数量必须严格递增(即下一个格子的宝藏数必须大于当前格子的宝藏数)。当满足以下任一条件时,蜗牛会停止移动:
- 无法找到满足“严格递增”条件的下一个格子;
- 移动到了矩形的最下面一行(无法继续向下)或最右边一列(无法继续向右)。
请你计算蜗牛最多能拿走多少宝藏(即路径上所有格子的宝藏数之和的最大值)。
输入格式
第一行输入两个正整数 和 (),分别表示矩形的行数和列数。
接下来 行,每行输入 个正整数 (),其中 表示第 行第 列格子中的宝藏数量(行号从 1 开始,列号从 1 开始)。
输出格式
输出一行一个整数,表示蜗牛最多能拿走的宝藏数。
样例输入
2 2
1 4
2 3
样例输出
5
样例解释
我们需要枚举所有可能的起点和移动方向(向右/向下),计算每条合法路径的宝藏和,最终取最大值:
-
起点 (1,1)(第 1 行第 1 列)
- 向右移动:路径为 (1,1) → (1,2),宝藏数 1 → 4(严格递增),和为 (到达最右列停止);
- 向下移动:路径为 (1,1) → (2,1),宝藏数 1 → 2(严格递增),和为 (到达最下行停止)。
-
起点 (1,2)(第 1 行第 2 列)
- 向右移动:已在最右列,无法移动,仅取 (1,2) 的宝藏,和为 4;
- 向下移动:路径为 (1,2) → (2,2),宝藏数 4 → 3(非递增),仅取 (1,2) 的宝藏,和为 4。
-
起点 (2,1)(第 2 行第 1 列)
- 向下移动:已在最下行,无法移动,仅取 (2,1) 的宝藏,和为 2;
- 向右移动:路径为 (2,1) → (2,2),宝藏数 2 → 3(严格递增),和为 (到达最右列停止)。
-
起点 (2,2)(第 2 行第 2 列)
- 无法向右或向下移动,仅取 (2,2) 的宝藏,和为 3。
所有路径的宝藏和中,最大值为 5,因此输出 5。
数据范围与提示
- 对于 60% 的数据:,;
- 对于 100% 的数据:,。