AT_abc465_d [ABC465D] X to Y
题目描述
给定整数 $X, Y$ 以及一个大于等于 $2$ 的整数 $K$。
有一个变量 $x$,初始时 $x = X$。你可以对 $x$ 进行以下操作任意次(包括 $0$ 次):
- 选择一个整数 $y$,满足 $
\left\lfloor \frac{x}{K} \right\rfloor = y $ 或 $ \left\lfloor \frac{y}{K} \right\rfloor = x,
$,然后将 $x$ 的值替换为 $y$。
这里,对于实数 $z$,$\lfloor z \rfloor$ 表示不超过 $z$ 的最大整数。
请你求出将 $x$ 变为 $Y$ 所需的最少操作次数。题目保证在给定限制下,一定可以在有限次操作内将 $x$ 变为 $Y$。
共有 $T$ 个测试用例,需要对每个用例分别输出答案。
输入格式
输入从标准输入按以下格式给出:
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
第 $i$ 个测试用例 $\text{case}_i$ 的格式为:
> $X \quad Y \quad K$
输出格式
对于每个测试用例,输出一行答案。
说明/提示
#### 样例解释 1
对于第一个测试用例:
可以通过以下两步将 $x$ 变为 $Y$:
1. 选择 $y = 3$,因为 $\left\lfloor \frac{11}{3} \right\rfloor = 3$,合法。将 $x$ 变为 $3$。
2. 选择 $y = 9$,因为 $\left\lfloor \frac{9}{3} \right\rfloor = 3$,而当前 $x = 3$,所以合法。将 $x$ 变为 $9$。
少于 $2$ 次操作无法做到,因此输出 $2$。
---
### 数据范围
- $1 \le T \le 2 \times 10^5$
- $0 \le X, Y \le 10^{18}$
- $2 \le K \le 10^{18}$
- 输入的所有值均为整数
---
由 Deepseek 翻译。