CF1674A.Number Transformation

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

Number Transformation

题目描述

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

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

例如:

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

输入格式

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

每个测试用例包含一行,包含两个整数 xx 和 yy(1≤x,y≤1001 \le x, y \le 100)。

输出格式

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

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

说明/提示

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

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