#4986. Problem 2. Transforming Pairs

0

Problem 2. Transforming Pairs

Problem 2. Transforming Pairs

USACO 2025 February Contest, Platinum

回答 QQ1Q1051\le Q\le 10^5)个独立查询,每个查询的形式如下:

给定四个整数 aabbccdd1018a,b,c,d1018-10^{18}\le a,b,c,d\le 10^{18})。在一次操作中,你可以执行 a+=ba\mathrel{+}=b,或 b+=ab\mathrel{+}=a。求将 (a,b)(a,b) 转变为 (c,d)(c,d) 所需要的最小操作次数,或者如果不可能完成,输出 1-1

输入格式(从终端 / 标准输入读入):

输入的第一行包含 QQ

以下 QQ 行,每行包含四个整数 aabbccdd

输出格式(输出至终端 / 标准输出):

每行输出一个查询的答案。

输入样例:


4
5 -3 -1 -3
5 3 5 2
5 3 8 19
5 3 5 3

输出样例:


2
-1
3
0

第一个查询:(5,3)(2,3)(1,3)(5,-3)\to (2,-3)\to (-1,-3)

第二个查询:不可能。

第三个查询:(5,3)(8,3)(8,11)(8,19)(5,3) \to (8, 3) \to (8, 11) \to (8, 19)

第四个查询:不需要任何操作。

测试点性质: 测试点 2:a,b,c,d10|a|, |b|, |c|,|d|\le 10。测试点 3:a,b0a,b\ge 0。测试点 4:a0ba \geq 0 \geq b。测试点 5:a0ba \leq 0 \leq b。测试点 6:a,b0a,b\le 0。测试点 7:c,d0c,d\ge 0。测试点 8:c0dc \geq 0 \geq d。测试点 9:c0dc \leq 0 \leq d。测试点 10:c,d0c,d\le 0。测试点 11-14:Q103Q \leq 10^3。测试点 15-19:没有额外限制。

供题:Benjamin Qi