#P9296. [POI2020] Gra platformowa / 平台游戏
[POI2020] Gra platformowa / 平台游戏
题目背景
题目译自 XXVIII Olimpiada Informatyczna – I etap Gra platformowa。
题目描述
Bajtazar 正在他的新电脑上玩游戏。
在这个游戏里,有 层平台,自上而下分别编号为 至 ,玩家需要在这些平台之间移动。每层平台的长度为 ,因此可以用数对 描述玩家当前的位置,其中 表示玩家在第几层平台, 表示玩家在当前平台的位置(最左端为 ,最右端为 )。
玩家从某个平台的最左端开始,游戏的目标是到达任意一个平台的最右端,且玩家只能向右移动。为了增大难度,在平台的一些地方会有洞,这种情况下,玩家可以选择跳跃操作,直接跳过这个洞,也可以通过该洞前往上面或下面的平台,保证不存在两个在水平方向上或竖直方向上相邻的洞。
更具体地说,假如玩家当前的位置为 ,玩家可以执行如下几种操作:
- 操作:当 没有洞时,玩家将会移动到 ;否则,玩家将会移动到 。
- 操作:当 有洞时,玩家将会移动到 。
- 操作:当 有洞时,玩家将会移动到 。
现在 Bajtazar 希望执行最少的跳跃操作(即 操作和 操作)完成游戏。你能帮他完成这个任务吗?
输入格式
输入第一行三个整数 ,表示一共有 层平台,每层平台的长度为 ,询问的次数为 。
接下来 行,第 行描述第 层平台的信息。每行开头一个整数 ,表示该层平台有 个洞。接下来 个递增的整数,给出该层每个洞的位置。数据保证任何一个平台的最左端和最右端不存在洞,且不存在两个在水平方向上或竖直方向上相邻的洞。
接下来 行,每行包含一个整数 ,表示在第 组询问中,玩家需要从第 层平台的最左端出发。
输出格式
对于第 组询问,请在第 行输出一个整数,表示从 出发,抵达任意一个平台的最右端需要执行的 操作和 操作的最小次数。
3 9 3
1 6
2 3 8
2 5 7
3
2
1
1
1
0
5 20 5
1 16
3 7 15 18
3 6 9 14
3 3 8 11
2 2 5
1
2
3
4
5
0
0
0
1
2
提示
【样例解释1】:
上图给出了样例 的第一个询问对应的最优方案:玩家先执行两次 操作到达 ,再执行一次 操作到达 ,再执行五次 操作到达 。
对于第二个询问,最优方案是执行一次 操作,再执行一次 操作,最后执行五次 操作。
对于第三个询问,最优方案是连续执行八次 操作。
【数据范围】:
所有测试点均满足:,,,。
子任务编号 | 约束 | 分值 |
---|---|---|
样例 | ||
, | ||
无附加约束 |