B. 第2题-递增构造

第2题-递增构造

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目内容

有一种简单的数字变换方式:每次操作可以将当前数值增加一个固定的正整数。现在有 tt 组询问,每组询问给出一个起始值 SS 和一个目标值 TT。你需要构造两个正整数 KK 和 DD,使得对 SS 执行 KK 次操作(每次增加 DD)后,SS 恰好等于 TT。如果存在合法的 KK 和 DD,请输出任意一组;如果无法构造,则输出两个 -1。

所有询问中,tt 不超过 100,SS 和 TT 均为正整数且不超过 100。

输入描述

第一行包含一个正整数 tt,表示询问的组数。接下来的 tt 行,每行包含两个正整数 SS 和 TT,分别表示起始值和目标值。

输出描述

对于每组询问,输出一行两个整数,用一个空格分隔。若有解,输出任意一组正整数 KK 和 DD;若无解,输出 -1 和 -1。

样例1

输入

1
3 10

输出

7 1

说明

只有一组询问,起始值 S=‘3‘S = `3`,目标值 T=‘10‘T = `10`。因为 3<103 < 10,差值 T−S=‘7‘T - S = `7`。构造 K=‘7‘K = `7`,D=‘1‘D = `1` 即可满足 3+7×1=103 + 7 \times 1 = 10。

样例2

输入

3
1 5
8 8
100 50

输出

4 1
-1 -1
-1 -1

说明

共有三组询问。

第一组 S=‘1‘S = `1`, T=‘5‘T = `5`:1<51 < 5,构造 K=5−1=‘4‘K = 5 - 1 = `4`, D=‘1‘D = `1`,满足 1+4×1=51 + 4 \times 1 = 5。 第二组 S=‘8‘S = `8`, T=‘8‘T = `8`:起始值等于目标值,无法通过正整数次增加正整数达到,输出 -1 -1。 第三组 S=‘100‘S = `100`, T=‘50‘T = `50`:起始值大于目标值,增加正整数只会使值变大,无法到达更小的目标,输出 -1 -1。

样例3

输入

1
99 100

输出

1 1

说明

边界情况:起始值 S=‘99‘S = `99`,目标值 T=‘100‘T = `100`,差值仅为 1。构造 K=‘1‘K = `1`, D=‘1‘D = `1`,只需 11 次操作增加 11 即可达到目标。

真题模拟赛第五场|JD|2023.04.08研发岗笔试

Not Attended
Status
Done
Rule
IOI
Problem
3
Start at
2023-4-15 19:00
End at
2023-4-15 20:20
Duration
1.3 hour(s)
Host
Partic.
54