题库练习 Shape Perimeter
← 上一题 下一题 →

A16579 | Shape Perimeter

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

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

- 将印章向右移动 $x_i$ 个单位,向上移动 $y_i$ 个单位。
- 将印章按压在纸上,在当前位置留下一个 $m \times m$ 的有色正方形。

注意,序列 $x$ 和 $y$ 的每个元素都满足特殊约束:$1 \le x_i, y_i \le m - 1$。

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

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

输入格式

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

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

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

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

输出格式

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

输入输出样例

输入 #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
C++ 编辑器
输入
输出