CF2056A.Shape Perimeter

入门

通过率:0%

AC君温馨提醒

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

题目描述

在一张无限大的纸上有一个 m×mm \times m 的正方形印章。最初,印章的左下角与纸张的左下角对齐。你会得到两个长度为 nn 的整数序列 xxyy。对于每一步 ii(从 11nn),会发生以下操作:

  • 将印章向右移动 xix_i 个单位,向上移动 yiy_i 个单位。
  • 将印章按压在纸上,在当前位置留下一个 m×mm \times m 的有色正方形。

注意,序列 xxyy 的每个元素都满足特殊约束:1xi,yim11 \le x_i, y_i \le m - 1

注意,你不会在纸张的左下角按压印章。具体可参考题目下方的说明图片。

可以证明,所有操作完成后,纸上的有色区域是一个连通的整体。请你求出这个有色区域的周长。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt1t10001 \le t \le 1000),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnmm1n1001 \le n \le 1002m1002 \le m \le 100),分别表示操作次数和正方形印章的边长。

接下来的 nn 行,每行包含两个整数 xix_iyiy_i1xi,yim11 \le x_i, y_i \le m - 1),分别表示第 ii 次操作中印章向右和向上移动的距离。

注意,所有测试用例的 nn 之和没有额外限制。

输出格式

对于每个测试用例,输出一个整数,表示纸上有色区域的周长。

输入输出样例

  • 输入#1

    3
    4 3
    1 1
    2 2
    2 1
    1 2
    1 2
    1 1
    6 7
    3 6
    1 1
    3 1
    6 6
    5 4
    6 1

    输出#1

    32
    8
    96

说明/提示

在第一个样例中,印章边长为 33,共按压 44 次,坐标分别为 (1,1)(1, 1)(3,3)(3, 3)(5,4)(5, 4)(6,6)(6, 6)。纸张上的效果如下图所示:

其中,第一次按压形成的正方形为蓝色,第二次为红色,第三次为绿色,第四次为紫色。合并后的区域如下图所示:

从图中可以看出,这个区域的周长为 3232

首页