#655. 最短递增路径

最短递增路径

题目描述

你位于格点 (0,0) (0,0) ,想要到达 (x,y) (x,y)

为此你可以执行一系列步伐。每一步由沿 xx 轴正方向或 yy 轴正方向移动一个正整数长度组成。第 11 步必须沿 xx 轴,第 22 步必须沿 yy 轴,第 33 步又沿 xx 轴,如此交替。形式化地,如果按执行顺序从 11 开始编号步,则奇数编号的步必须沿 xx 轴,偶数编号的步必须沿 yy 轴。

此外,每一步的长度必须严格大于前一步的长度。

输出到达 (x,y) (x,y) 所需的最小步数,若无法到达则输出 1-1

输入格式

输入包含多组测试用例。

  • 第一行包含一个整数 tt1t1041\le t\le 10^4),表示测试用例数。
  • 随后每个测试用例由一行给出,包含两个整数 xxyy1x,y1091\le x,y\le 10^9)。

输出格式

对于每个测试用例,输出一行,表示到达 (x,y) (x,y) 所需的最小步数,或在无法到达时输出 1-1

样例输入

10
1 2
5 6
4 2
1 1
2 1
3 3
5 1
5 4
752 18572
95152 2322

样例输出

2
2
3
-1
-1
-1
-1
-1
2
3

说明

样例解释

在第 22 个样例中,可以先沿 xx 轴移动 55 到达 (5,0)(5,0),再沿 yy 轴移动 66 到达 (5,6)(5,6),共 22 步。

图片描述

在第 33 个样例中,可以先移动到 (1,0)(1,0),再到 (1,2)(1,2),最后到 (4,2)(4,2),共 33 步。

图片描述

在第 44 个样例中,目标 (1,1)(1,1) 无法达到:若先沿 xx 轴移动到 (1,0)(1,0),则下一步必须沿 yy 轴且长度至少为 22,无法恰好到达 y=1y=1