CF2035A.Sliding

入门

通过率:0%

AC君温馨提醒

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

题目描述

在有 nn 行和 mm 列的人群中,每个人都有一个编号,从左到右,从上到下排列。具体来说,第 rr 行第 cc 列的位置表示为 (r,c)(r, c),其编号为 (r−1)⋅m+c(r-1) \cdot m + c。

现在,位于位置 (r,c)(r, c) 的人决定离开。假设这个人的编号是 ii,那么所有编号大于 ii 的人会依次前移,占据编号 j−1j-1 的人的初始位置。例如:对于 n=2n=2,m=3m=3,r=1r=1 和 c=2c=2 的情况,如下图所示。

你的任务是计算每个受影响的人移动的曼哈顿距离之和。对于一个从位置 (r0,c0)(r_0, c_0) 移动到位置 (r1,c1)(r_1, c_1) 的人,其移动的曼哈顿距离定义为 ∣r0−r1∣+∣c0−c1∣|r_0 - r_1| + |c_0 - c_1|。

输入格式

第一行输入一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

接下来每个测试用例包含四个整数 nn,mm,rr 和 cc(1≤r≤n≤1061 \le r \le n \le 10^6,1≤c≤m≤1061 \le c \le m \le 10^6),表示行数、列数,以及离开者的初始位置。

输出格式

对于每个测试用例,输出一个整数,表示所有移动的人其曼哈顿距离之和。

输入输出样例

  • 输入#1

    4
    2 3 1 2
    2 2 2 1
    1 1 1 1
    1000000 1000000 1 1

    输出#1

    6
    1
    0
    1999998000000

说明/提示

  • 对于第一个测试用例,编号为 22 的人离开,编号为 33、44、55 和 66 的人需要移动,其移动距离分别为 11、33、11 和 11。因此,答案是 1+3+1+1=61 + 3 + 1 + 1 = 6。
  • 对于第二个测试用例,编号为 33 的人离开,其后编号为 44 的人移动,答案为 11。

本翻译由 AI 自动生成

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

首页