“不寻常的贪吃蛇”
在如下一个 10×10 的贪吃蛇地图中,有一条蛇 S
(Snake),但是呢,这条蛇和常见的《贪吃蛇》游戏中的蛇不同,它不想吃果果,只想走过更多格子,寻找宇宙和万物的回答。
这条蛇有四个特点:
- 它自己在某一时刻只会位于一个格子内;
- 它每步只能 “向左”、“向右”、“向上” 或 “向下” 移动一格,且不能越出地图边界;
- 它从不会踏上已经去过的格子,已经去过的格子在地图中标注为
V
(Visited); - 它的体力是有限的,体力 ≤ 0 就要休息了,地图中的数字表示踏上当前格子会让蛇消耗的体力,数字为负值表示踏上这一格会给蛇增加体力。
蛇走了一段路后,当前的体力值为 42,正在思考一条最好的路线。
请帮它来算一算,它在休息之前,接下来最多可以新踏上多少个格子?(答案为一个数字,如果可以附上你的计算方法会更好)
// 如果你想编程来计算,下边的文字会便于你复制地图写进代码:
8, 7, 7, 8, 2, 8, -2, 0, 5, -5
-1, 3, 0, -4, 6, -2, 8, -2, 8, -4
4, -4, V, V, 3, V, V, 4, -2, 0
0, -6, V, V, 9, V, V, -3, 4, 3
-6, 0, V, V, V, V, V, 6, -2, -1
-2, 2, V, -4, V, V, V, -5, -4, 5
7, 6, V, -6, 2, 5, V, -2, -1, 1
-2, 8, V, 5, 2, 9, S, 6, 8, 4
1, -5, 9, 5, 0, 2, -2, -4, 5, 1
-6, -2, 9, -2, 6, -1, 2, 0, 9, -2
【2021-2-13更新】
由于地图中含负值,难度是较大的,于是我们增加了地图如下的简单版本。完成简单版本的解答同样有机会参与抽取开发板。
// 不含负值的简单版本
8, 7, 7, 8, 2, 8, 2, 0, 5, 5
1, 3, 0, 4, 6, 2, 8, 2, 8, 4
4, 4, V, V, 3, V, V, 4, 2, 0
0, 6, V, V, 9, V, V, 3, 4, 3
6, 0, V, V, V, V, V, 6, 2, 1
2, 2, V, 4, V, V, V, 5, 4, 5
7, 6, V, 6, 2, 5, V, 2, 1, 1
2, 8, V, 5, 2, 9, S, 6, 8, 4
1, 5, 9, 5, 0, 2, 2, 4, 5, 1
6, 2, 9, 2, 6, 1, 2, 0, 9, 2