#HX3229. 迷宫广度优先搜索题二:反向搜索—一维坐标的移动

提交2 通过1
通过率50%
时间限制1000ms
内存限制128MiB
    ID: 12851 传统题 1000ms 128MiB 尝试: 2 已通过: 1 难度: 普及 上传者: 标签>C++c++编程题浩轩OJ迁移6级2025年寒假六级班题库

题目描述

题目描述

在一个长度为 n 的坐标轴上,有一个非常特别的整数位置 T。小珅有 Q 次询问,每次询问小珅想要知道从整数位置 S 移动到整数位置 T 的最少移动次数。

他的移动规则如下:

  1. 向前一步,坐标增加 1。
  2. 向后一步,坐标减少 1。
  3. 跳跃一步,使得坐标乘 2。

小珅不能移动到坐标小于 0 或大于 n 的位置。

输入格式

第一行输入三个非负整数 n,T,Q,分别代表坐标轴长度,终点T 的坐标,小珅共有 Q 次询问。(0≤T≤n≤5000,1≤Q≤104)

接下来 Q 行,每行一个整数 S 表示当前询问的起始位置。(0≤S≤n)

输出格式

对于每个询问,输出 S→T 的最少移动次数。

输入样例 #1

5 4 2
1
3

输出样例 #1

2
1

输入样例 #2

0 0 1
0

输出样例 #2

0

输入样例 #3

5 5 2
0
1

输出样例 #3

4
3

数据范围与约定

0≤T≤n≤5000,1≤Q≤10^4,0≤S≤n。