T125628.异星矿区
普及+/提高
加入题单
通过率:
17.89%
时间限制:
1.00s
内存限制:
128MB
题目描述
输入文件:y.in
输出文件:y.out
题目背景
在遥远的异星,有一片巨大的网格状矿区,里面蕴藏着丰富的能量矿石。
题目描述
矿区可以看作是一个 N 行 M 列的二维矩阵。位于第 i 行第 j 列的区域中,有价值为 w
i,j
的能量矿石。
一辆探测车从矿区的左上角 (1,1) 出发,目标是到达右下角 (N,M)。探测车每次只能向 右 移动一格或向 下 移动一格。每进入一个格子(包括起点和终点),探测车就会收集该格子里的所有能量矿石。
然而,异星的环境非常极端。如果探测车在同一个方向上连续行驶的步数超过了 K 步,其引擎就会过热爆炸。也就是说:
探测车不能连续向下移动超过 K 次。
探测车不能连续向右移动超过 K 次。
请你计算出,探测车在安全到达终点 (N,M) 的前提下,最多能收集到多少总价值的能量矿石?如果无论如何探测车都无法安全到达终点,请输出 -1。
输入格式
第一行包含三个整数 N,M,K,分别表示矩阵的行数、列数以及连续移动步数的上限。
接下来的 N 行,每行包含 M 个整数。其中第 i 行的第 j 个整数表示 w
i,j
。
输出格式
输出共 1 行,包含一个整数,表示最多能收集的矿石总价值;若无法到达终点,输出 -1。
输入输出样例
输入#1
2 3 2
1 2 3
4 5 6
输出#1
16
输入#2
1 5 2
1 2 3 4 5
输出#2
-1
说明/提示
说明/提示
【样例解释 1】
一种最优的移动路径是:
(1,1)→(2,1)→(2,2)→(2,3)。
该路径的移动指令为:下、右、右。
连续方向统计如下:
第一次 向下 行驶 1 步(到达 2,1)
第一次 向右 行驶 2 步(到达 2,3)
在整个过程中,没有任何同向连续移动超过 K=2 步,路径合法。
总价值为 1+4+5+6=16。
【数据范围】
本题共有 5 个子任务。具体限制与约定如下表所示:
子任务编号 分值 限制与特殊性质
1 10 K≥max(N,M)
2 20 N,M≤10
3 20 K=1
4 30 N,M≤100
5 20 无特殊限制
对于 100% 的数据,有 1≤N,M≤500,1≤K≤10,0≤w
我的代码