CFCF2180A.Carnival Wheel

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你有一个被分成 ll 个区域的奖品转盘,这些区域编号从 00l1l-1。这些区域排列成一个圆环,所以在 l1l-1 区域之后,编号又从 00 区域重新开始。

初始时,指针指向第 aa 区域。每次转动转盘时,指针都会正好前进 bb 个区域。也就是说,转动一次后,指针会从第 aa 区域移动到第 (a+b)modl(a+b)\bmod l 区域;转动两次后到达第 (a+2b)modl(a+2b)\bmod l 区域,依此类推^*

你可以选择任意次数地转动转盘(包括零次)。当你停止时,指针最终停留的区域决定了你的奖品:你获得的奖金等于该区域的编号。

你能获得的最大奖金是多少?

^* 这里,xmodyx\bmod y 表示 xx 除以 yy 的余数。

输入格式

每组测试包含多组测试数据。第一行为测试数据组数 tt1t5001 \le t \le 500)。
接下来的每组测试数据,每行为三个整数 l,a,bl,a,b1l,b50001 \le l, b \le 50000al10 \le a \le l-1)。

输出格式

对于每组测试数据,输出你能获得的最大奖金。

输入输出样例

  • 输入#1

    4
    5 3 2
    2 0 6
    8 2 4
    100 0 1

    输出#1

    4
    0
    6
    99

说明/提示

在第一个测试数据中,通过转动转盘三次后再领奖,你可以获得最大值 44。指针位置的序列为:3,0,2,4,1,3,0,3, 0, 2, 4, 1, 3, 0, \ldots

在第二个测试数据中,指针会一直停留在第 00 区域,不会改变。

在第四个测试数据中,b=1b=1 并且从第 00 区域开始,指针会遍历所有区域,包括最后一个区域。

可视化链接

由 ChatGPT 5 翻译

首页