#CF2027A. 矩形阵列
矩形阵列
A. 矩形排列
每次测试的时间限制:1秒
每次测试的内存限制:256兆字节
你正在对一个无限大的正方形网格进行着色,其中所有单元格初始为白色。为此,你有 个印章。每个印章是一个宽度为 、高度为 的矩形。
你将每个印章恰好使用一次,在网格上涂黑一个与印章大小相同的矩形。你不能旋转印章,并且对于每个单元格,印章要么完全覆盖它,要么完全不覆盖它。你可以将印章放在网格的任何位置,即使印章覆盖的区域中有些或所有单元格已经被涂黑。
在所有印章使用完毕后,黑色方格所形成的连通区域的所有周长之和的最小值是多少?
输入
每个测试包含多个测试用例。第一行包含测试用例数 ()。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 ()。
接下来的 行中,第 行包含两个整数 和 ()。
输出
对于每个测试用例,输出一个整数——在所有印章使用完毕后,黑色方格所形成的连通区域的所有周长之和的最小值。
示例
输入
5
5
1 5
2 4
3 3
4 2
5 1
3
2 2
1 1
1 2
1
3 2
3
100 100
100 100
100 100
4
1 4
2 3
1 5
3 2
输出
20
8
10
400
16
注意
在第一个测试用例中,可以按照左侧所示使用印章。每个印章用其自己的颜色突出显示。
所有印章使用后,有一个黑色区域(如右侧所示),其周长为 。可以证明,没有其他使用印章的方式能得到更小的总周长。
在第二个测试用例中,第二个和第三个印章可以完全放在第一个印章内部,因此最小周长等于 。