CF2236C Omsk Programmers

题目描述

一年一度的程序员展会正在鄂木斯克的主广场举行。你作为鄂木斯克的首席程序员,决定参加这个精彩的活动并前往现场。在入口处,一名保安决定考察你的技能,并给了你一个问题: 你有三个整数 $a$、$b$、$x$。你希望将 $a$ 和 $b$ 变为相等。为此,你可以进行以下操作: 1. 选择 $a$ 或 $b$ 中的一个数,并将其加 $1$。 2. 选择 $a$ 或 $b$ 中的一个数,并将其除以 $x$,结果向下取整。 你需要求出使 $a$ 和 $b$ 相等所需的最少操作次数。你能证明你的实力吗,还是只能回家?

输入格式

第一行包含一个整数 $t$,表示测试用例的数量,$1 \le t \le 10^4$。 接下来有 $t$ 组测试用例。 每组测试用例包含一行,包含三个整数 $a$、$b$、$x$,$1 \le a, b \le 10^9$,$2 \le x \le 10^9$。

输出格式

对于每个测试用例,输出一个整数,表示将 $a$ 和 $b$ 变为相等所需的最少操作次数。

说明/提示

由 ChatGPT 5 翻译