CF2049D.Shift + Esc

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于被某个装置捉弄之后,龙 Evirir 决定利用他的魔法技能来改变现实以迅速逃脱。

你得到一个 nn 行 mm 列的非负整数网格,以及一个整数 kk。我们用 (i,j)(i, j) 表示从上到下第 ii 行、从左到右第 jj 列的单元格(1≤i≤n1 \le i \le n,1≤j≤m1 \le j \le m)。在每个单元格 (i,j)(i, j) 上都有一个整数 ai,ja_{i, j}。

你起始位于 (1,1)(1, 1),目标是走到 (n,m)(n, m)。在移动过程中,你只能向下或向右移动——也就是说,如果你在 (i,j)(i, j),只能移动到 (i+1,j)(i+1, j) 或 (i,j+1)(i, j+1),当然,前提是这些目标单元格必须存在。

在开始移动之前,你可以进行以下操作任意多次:

  • 从 11 到 nn 中选择一个整数 ii,然后将第 ii 行的元素循环左移一位。这个操作的效果是,将每个 ai,ja_{i,j} 更新为 ai,(j mod m)+1a_{i,(j \bmod m) + 1}。

请注意,一旦你开始移动,就不能再进行行移操作。从 (1,1)(1, 1) 到 (n,m)(n, m) 之后,令 xx 是你在开始移动之前进行的操作次数,而 yy 是你经过的所有单元格上的整数之和(包括起始和目标位置)。最终成本被定义为 kx+ykx + y。

你的任务是计算出以最小成本从 (1,1)(1, 1) 移动到 (n,m)(n, m) 所需的操作次数。

输入格式

输入包括多个测试用例。第一行为测试用例数量 tt(1≤t≤1041 \le t \le 10^4)。接下来每个测试用例包含:

  • 一行三个用空格分隔的整数 nn、mm 和 kk(1≤n,m≤2001 \leq n, m \leq 200,0≤k≤1090 \leq k \leq 10^9)。
  • 随后的 nn 行,每行包含 mm 个用空格分隔的整数,分别表示这一行上的 ai,1, ai,2, …, ai,ma_{i,1},\,a_{i,2},\,\ldots,\,a_{i,m}(0≤ai,j≤1090 \leq a_{i,j} \leq 10^9)。

所有测试用例中 n⋅mn \cdot m 的总和不超过 5⋅1045 \cdot 10^4。

输出格式

对于每个测试用例,输出从起点 (1,1)(1, 1) 到终点 (n,m)(n, m) 的最小成本。

输入输出样例

  • 输入#1

    5
    3 3 100
    3 4 9
    5 2 4
    0 101 101
    3 4 1
    10 0 0 10
    0 0 10 0
    10 10 0 10
    1 1 3
    4
    3 2 3
    1 2
    3 6
    5 4
    10 10 14
    58 49 25 12 89 69 8 49 71 23
    45 27 65 59 36 100 73 23 5 84
    82 91 54 92 53 15 43 46 11 65
    61 69 71 87 67 72 51 42 55 80
    1 64 8 54 61 70 47 100 84 50
    86 93 43 51 47 35 56 20 33 61
    100 59 5 68 15 55 69 8 8 60
    33 61 20 79 69 51 23 24 56 28
    67 76 3 69 58 79 75 10 65 63
    6 64 73 79 17 62 55 53 61 58

    输出#1

    113
    6
    4
    13
    618

说明/提示

在第一个测试用例中,最低成本是 113113,可以通过以下步骤实现:

  1. 将第 3 行循环左移一次。网格变成:

    [3495241011010].\begin{bmatrix} 3 & 4 & 9 \\ 5 & 2 & 4 \\ 101 & 101 & 0 \end{bmatrix}.

  2. 按以下路径行进:(1,1)→(1,2)→(2,2)→(2,3)→(3,3)(1, 1) \to (1, 2) \to (2, 2) \to (2, 3) \to (3, 3)。

进行了一次操作,访问的路径上整数之和为 y=3+4+2+4+0=13y = 3 + 4 + 2 + 4 + 0 = 13。因此,总成本为 kx+y=100⋅1+13=113kx + y = 100 \cdot 1 + 13 = 113。

在第二个测试用例中,你可以将第 1 行左移一次,第 2 行左移两次,第 3 行左移三次。最终网格变成:

[001010100001010100].\begin{bmatrix} 0 & 0 & 10 & 10 \\ 10 & 0 & 0 & 0 \\ 10 & 10 & 10 & 0 \end{bmatrix}.

共进行了 x=6x = 6 次操作,并且经过的路径上整数之和为 y=0y = 0。因此,总成本为 6⋅1+0=66 \cdot 1 + 0 = 6。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页