#P12647. [KOI 2024 Round 2] 寻宝游戏

[KOI 2024 Round 2] 寻宝游戏

题目背景

试题来源:https://koi.or.kr/archives/。中文翻译做了少量本土化修改。

按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。

题目描述

你正与朋友小彬在如下图所示的无限长数轴上玩寻宝游戏。

首先,你会将两件宝物藏在数轴上两个不同的位置 LLRR 上(满足 L<RL < R)。下图为将宝物藏在 L=2L = -2R=3R = 3 的一个例子。用橙色标示的两个格子中藏有宝物。

你藏好宝物后,小彬便开始找宝物。她将从你指定的起始位置 SS 出发,按照以下顺序进行:

  • 第一步:检查当前位置 SS
  • 第二步:向右移动 11 格,检查位置 S+1S + 1
  • 第三步:向左移动 22 格,检查位置 S+12S + 1 - 2
  • 第四步:向右移动 33 格,检查位置 S+12+3S + 1 - 2 + 3
  • 第五步:向左移动 44 格,检查位置 S+12+34S + 1 - 2 + 3 - 4
  • 第六步:向右移动 55 格,检查位置 S+12+34+5S + 1 - 2 + 3 - 4 + 5

也就是说,第 xx 步时,如果 xx 是偶数,小彬会向右移动 x1x - 1 格;如果 xx 是奇数,小彬会向左移动 x1x - 1 格,然后检查所到达的位置。

如果某一步检查的位置上有宝物,游戏就结束。

例如,在 L=2L = -2R=3R = 3S=0S = 0 的情形下,小彬会在第 55 步检查位置 2-2,那里藏有宝物,因此游戏会在第 55 步结束。

输入格式

第一行输入一个整数 TT,表示你想测试的游戏情况数。
接下来 TT 行,每行三个整数 L R SL\ R\ S,表示两个宝物的位置 L, RL,\ R 和小彬的起始位置 SS

输出格式

输出 TT 行,第 ii 行输出对应第 ii 个游戏中,游戏在第几步结束(即找到第一个宝物)。

2
-2 3 0
4 8 6
5
4
9
-1 1 0
-2 1 0
-3 1 0
-1 2 0
-2 2 0
-3 2 0
-1 3 0
-2 3 0
-3 3 0
2
2
2
3
4
4
3
5
6

提示

样例 1 说明

  • 第一个例子如题面图所示,小彬第 55 步找到了位置 2-2 的宝物。
  • 第二个例子中,小彬从 66 出发:
    • 第 1 步:66
    • 第 2 步:77
    • 第 3 步:55
    • 第 4 步:88 ← 找到宝物,游戏结束。

约束条件

  • 所有输入为整数。
  • 1T100001 \leq T \leq 10\,000
  • 100000000L<S<R100000000-100\,000\,000 \leq L < S < R \leq 100\,000\,000

子问题

  1. (8 分)T=1, R=1, S=0T = 1,\ R = 1,\ S = 0
  2. (9 分)T=1, L=1, S=0T = 1,\ L = -1,\ S = 0
  3. (15 分)$-1\,000 \leq L \leq -1,\ 1 \leq R \leq 1\,000,\ S = 0$
  4. (16 分)1000L<S<R1000-1\,000 \leq L < S < R \leq 1\,000
  5. (52 分)无额外限制条件

翻译由 ChatGPT-4o 完成