CF1765E Exchange

题目描述

Monocarp 正在玩一款 MMORPG。在这款游戏中,有两种常用的货币——金币和银币。Monocarp 想为他的角色购买一把新武器,这把武器需要 $n$ 枚银币。不幸的是,现在 Monocarp 一枚硬币都没有。 Monocarp 可以通过完成任务来获得金币。每完成一个任务就能获得一枚金币。Monocarp 还可以通过游戏内的交易系统兑换货币。经过多天分析游戏经济系统,Monocarp 得出如下结论:他可以用 1 枚金币换取 $a$ 枚银币(即失去 1 枚金币,获得 $a$ 枚银币),也可以用 $b$ 枚银币购买 1 枚金币(即失去 $b$ 枚银币,获得 1 枚金币)。 现在,Monocarp 想计算,为了最终拥有至少 $n$ 枚银币(可以通过反复利用游戏内经济系统),他最少需要完成多少次任务。注意,Monocarp 可以不限次数地进行上述两种兑换操作(卖出金币换银币、用银币买金币)。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例包含一行,包含三个整数 $n$、$a$ 和 $b$($1 \le n \le 10^7$;$1 \le a, b \le 50$)。

输出格式

对于每个测试用例,输出一个整数,表示 Monocarp 最少需要完成的任务数。

说明/提示

在第一个样例中,Monocarp 应该完成 $4$ 次任务,然后将 $4$ 枚金币全部卖出,换得 $100$ 枚银币。 在第二个样例中,Monocarp 应该完成 $400000$ 次任务,然后将 $400000$ 枚金币全部卖出,换得 $10000000$ 枚银币。 在第三个样例中,Monocarp 应该完成 $1$ 次任务,卖出这枚金币获得 $50$ 枚银币,再用 $48$ 枚银币买回一枚金币,然后再次卖出获得 $50$ 枚银币。这样他总共有 $52$ 枚银币。 在第四个样例中,Monocarp 应该完成 $1$ 次任务,然后将获得的金币卖出,换得 $50$ 枚银币。 由 ChatGPT 4.1 翻译