#arc109d. [arc109_d]L
[arc109_d]L
题目描述
我们在二维平面上有三个石头,它们的坐标分别是 , 和 。
当满足以下条件时,这三个石头被称为 L 型:
- 每个石头都位于整数坐标上。
- 每个石头都与另一个石头相邻。(也就是说,对于每个石头,存在另一个石头与之距离为 。)
- 这三个石头不能在同一条直线上。
特别地,初始排列的石头——, 和 ——形成了一个 L 型。
你可以进行以下操作任意次数:选择一个石头并将其移到任意位置。但是,在每次操作之后,石头必须形成 L 型。你想尽量少地进行操作,使得石头的位置变成 , 和 。你需要进行多少次操作才能完成?
保证所需的石头排列——, 和 ——形成一个 L 型。在这种情况下,总是能够通过有限次操作达到目标。
输入 组这样的问题,请分别解决每组问题。
注意事项
我们假设这三个石头是无法区分的。例如,最初位于 的石头最终可以位于 、 和 中的任意一个点。
约束条件
- 所需的石头排列——, 和 ——形成一个 L 型。
输入
从标准输入读入输入数据的格式如下:
每组问题的输入格式如下:
输出
输出 个值,第 个值应为 的最少操作次数。
示例输入 1
1
3 2 2 2 2 1
示例输出 1
4
让我们用 #
表示一个石头。你可以通过以下四次操作将石头移动到指定位置:
.... .... .... ..#. ..##
#... -> ##.. -> .##. -> .##. -> ..#.
##.. .#.. .#.. .... ....
示例输入 2
10
0 0 1 0 0 1
1 0 0 1 1 1
2 -1 1 -1 1 0
1 -2 2 -1 1 -1
-1 2 0 2 -1 3
-1 -2 -2 -2 -2 -3
-2 4 -3 3 -2 3
3 1 4 2 4 1
-4 2 -4 3 -3 3
5 4 5 3 4 4
示例输出 2
0
1
2
3
4
5
6
7
8
9