CF1674A.Number Transformation

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Number Transformation

题目描述

给定两个整数 xxyy。你需要选择两个严格大于零的整数 aabb,然后对 xx 恰好进行 aa 次如下操作:用 bxb \cdot x 替换 xx

你需要找到两个正整数 aabb,使得经过上述过程后 xx 变为 yy。如果存在多组解,你可以任选一组。如果不存在这样的整数对,请输出无法实现。

例如:

  • 如果 x=3x = 3y=75y = 75,你可以选择 a=2a = 2b=5b = 5,这样 xx 经过操作后变为 355=753 \cdot 5 \cdot 5 = 75
  • 如果 x=100x = 100y=100y = 100,你可以选择 a=3a = 3b=1b = 1,这样 xx 经过操作后变为 100111=100100 \cdot 1 \cdot 1 \cdot 1 = 100
  • 如果 x=42x = 42y=13y = 13,则不存在解,因为无法通过该操作使 xx 变小。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例包含一行,包含两个整数 xxyy1x,y1001 \le x, y \le 100)。

输出格式

如果存在一组正整数 aabb,使得经过上述过程后 xx 变为 yy,请输出这两个整数。你输出的整数应满足 1a,b1091 \le a, b \le 10^9(可以证明如果存在解,一定存在满足该范围的整数对)。如果存在多组解,输出任意一组即可。

如果不存在这样的整数对,请输出两个 00

说明/提示

由 ChatGPT 4.1 翻译

样例

3
3 75
100 100
42 13
2 5
3 1
0 0

在线编程 IDE

建议全屏模式获得最佳体验