题库练习 Captain Marmot
← 上一题 下一题 →

A9590 | Captain Marmot

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

题目描述

Captain Marmot wants to prepare a huge and important battle against his enemy, Captain Snake. For this battle he has $n$ regiments, each consisting of $4$ moles.

Initially, each mole $i$ ( $1<=i<=4n$ ) is placed at some position $(x_{i},y_{i})$ in the Cartesian plane. Captain Marmot wants to move some moles to make the regiments compact, if it's possible.

Each mole $i$ has a home placed at the position $(a_{i},b_{i})$ . Moving this mole one time means rotating his position point $(x_{i},y_{i})$ $90$ degrees counter-clockwise around it's home point $(a_{i},b_{i})$ .

A regiment is compact only if the position points of the $4$ moles form a square with non-zero area.

Help Captain Marmot to find out for each regiment the minimal number of moves required to make that regiment compact, if it's possible.

输入格式

Captain Marmot wants to prepare a huge and important battle against his enemy, Captain Snake. For this battle he has $n$ regiments, each consisting of $4$ moles.

Initially, each mole $i$ ( $1<=i<=4n$ ) is placed at some position $(x_{i},y_{i})$ in the Cartesian plane. Captain Marmot wants to move some moles to make the regiments compact, if it's possible.

Each mole $i$ has a home placed at the position $(a_{i},b_{i})$ . Moving this mole one time means rotating his position point $(x_{i},y_{i})$ $90$ degrees counter-clockwise around it's home point $(a_{i},b_{i})$ .

A regiment is compact only if the position points of the $4$ moles form a square with non-zero area.

Help Captain Marmot to find out for each regiment the minimal number of moves required to make that regiment compact, if it's possible.

输出格式

Print $n$ lines to the standard output. If the regiment $i$ can be made compact, the $i$ -th line should contain one integer, the minimal number of required moves. Otherwise, on the $i$ -th line print "-1" (without quotes).

输入输出样例

输入 #1
4
1 1 0 0
-1 1 0 0
-1 1 0 0
1 -1 0 0
1 1 0 0
-2 1 0 0
-1 1 0 0
1 -1 0 0
1 1 0 0
-1 1 0 0
-1 1 0 0
-1 1 0 0
2 2 0 1
-1 0 0 -2
3 0 0 -2
-1 1 -2 0
输出 #1
1
-1
3
3
C++ 编辑器
输入
输出