#arc109d. [arc109_d]L

[arc109_d]L

题目描述

我们在二维平面上有三个石头,它们的坐标分别是 (0,0)(0, 0)(1,0)(1,0)(0,1)(0,1)

当满足以下条件时,这三个石头被称为 L 型:

  • 每个石头都位于整数坐标上。
  • 每个石头都与另一个石头相邻。(也就是说,对于每个石头,存在另一个石头与之距离为 11。)
  • 这三个石头不能在同一条直线上。

特别地,初始排列的石头——(0,0)(0, 0)(1,0)(1,0)(0,1)(0,1)——形成了一个 L 型。

你可以进行以下操作任意次数:选择一个石头并将其移到任意位置。但是,在每次操作之后,石头必须形成 L 型。你想尽量少地进行操作,使得石头的位置变成 (ax,ay)(ax, ay)(bx,by)(bx, by)(cx,cy)(cx, cy)。你需要进行多少次操作才能完成?

保证所需的石头排列——(ax,ay)(ax, ay)(bx,by)(bx, by)(cx,cy)(cx, cy)——形成一个 L 型。在这种情况下,总是能够通过有限次操作达到目标。

输入 TT 组这样的问题,请分别解决每组问题。

注意事项

我们假设这三个石头是无法区分的。例如,最初位于 (0,0)(0,0) 的石头最终可以位于 (ax,ay)(ax, ay)(bx,by)(bx, by)(cx,cy)(cx, cy) 中的任意一个点。

约束条件

  • 1leqTleq1031 \\leq T \\leq 10^3
  • ax,ay,bx,by,cx,cyleq109|ax|,|ay|,|bx|,|by|,|cx|,|cy| \\leq 10^9
  • 所需的石头排列——(ax,ay)(ax, ay)(bx,by)(bx, by)(cx,cy)(cx, cy)——形成一个 L 型。

输入

从标准输入读入输入数据的格式如下:

TT textcase1\\text{case}_1 vdots\\vdots textcaseT\\text{case}_T

每组问题的输入格式如下:

axax ayay bxbx byby cxcx cycy

输出

输出 TT 个值,第 ii 个值应为 textcasei\\text{case}_i 的最少操作次数。

示例输入 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