CF2056A.Shape Perimeter
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在一张无限大的纸上有一个 m×m 的正方形印章。最初,印章的左下角与纸张的左下角对齐。你会得到两个长度为 n 的整数序列 x 和 y。对于每一步 i(从 1 到 n),会发生以下操作:
- 将印章向右移动 xi 个单位,向上移动 yi 个单位。
- 将印章按压在纸上,在当前位置留下一个 m×m 的有色正方形。
注意,序列 x 和 y 的每个元素都满足特殊约束:1≤xi,yi≤m−1。
注意,你不会在纸张的左下角按压印章。具体可参考题目下方的说明图片。
可以证明,所有操作完成后,纸上的有色区域是一个连通的整体。请你求出这个有色区域的周长。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 m(1≤n≤100,2≤m≤100),分别表示操作次数和正方形印章的边长。
接下来的 n 行,每行包含两个整数 xi 和 yi(1≤xi,yi≤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
说明/提示
在第一个样例中,印章边长为 3,共按压 4 次,坐标分别为 (1,1)、(3,3)、(5,4) 和 (6,6)。纸张上的效果如下图所示:

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

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