#HK4812. 「USACO 2025.2 Platinum」Transforming Pairs

「USACO 2025.2 Platinum」Transforming Pairs

题目描述

题目来自 USACO 2025 February Contest, Platinum Problem 2. Transforming Pairs

回答 QQ(1≤Q≤1051\le Q\le 10^5)个独立查询,每个查询的形式如下:

给定四个整数 aa,bb,cc,dd(−1018≤a,b,c,d≤1018-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 行,每行包含四个整数 aa,bb,cc,dd。

输出格式

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

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)。

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

测试点性质

  • 测试点 22:∣a∣,∣b∣,∣c∣,∣d∣≤10|a|, |b|, |c|,|d|\le 10。
  • 测试点 33:a,b≥0a,b\ge 0。
  • 测试点 44:a≥0≥ba \geq 0 \geq b。
  • 测试点 55:a≤0≤ba \leq 0 \leq b。
  • 测试点 66:a,b≤0a,b\le 0。
  • 测试点 77:c,d≥0c,d\ge 0。
  • 测试点 88:c≥0≥dc \geq 0 \geq d。
  • 测试点 99:c≤0≤dc \leq 0 \leq d。
  • 测试点 1010:c,d≤0c,d\le 0。
  • 测试点 11∼1411\sim 14:Q≤103Q \leq 10^3。
  • 测试点 15∼1915\sim 19:没有额外限制。

供题:Benjamin Qi