科迪

问题44379.一个轨道五条车道

寻找穿越整个轨道,而不会在任何障碍车道的最小数量的必要改变

甲轨道由5xN板(用5条泳道和N正方形每个泳道)表示。一些平方被封锁,(以上的图像中的红色块)浇道不能穿过它们。亚军可只能前进或横向(即提前或转换车道),并不能碰到或跳过任何障碍。通过板的对角线或向后移动时也不允许。转轮可以开始和他选择的任意车道完成。你的任务是确定,考虑到赛道上,车道变化最小数量要完成比赛。

输入矩阵将是一个5xN矩阵与表示阻塞方块1和0表示可用/空闲的正方形。你的函数的输出应该是一个数字,指示车道的最小数量的变化必须完成比赛。例如,在上述图中所示的轨道将被表示为:

X = [0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0];

和你的函数

N = fivelanes(X);

should return n=2, since there are multiple paths available (e.g. yellow line in the picture above) that would allow the runner to reach the end of the track with only 2 lane changes, but none that would allow the runner to complete the track with only one or less lane changes.

祝好运!

小字:你可以假设总是会有只需要向前和lateral-运动的起点和终点之间的直接路径。测试包不包括在有这种形式没有可能的路径的情况。车道改变计数相同而不管它们是否涉及相邻或不相邻的车道(即,从第1道到切换泳道4算作一个车道变更,只是与从第1道切换到第2泳道)。当切换车道转轮可过障碍物运行(即,从第1道切换到泳道3是不可能的,如果有在第2道的障碍物在轨道该点)。下面曲目和可能的最低限度,变更车道路径的几个例子(注:最佳路径不是唯一的;在所有这些例子中变更车道的最佳数量是,巧合的是,5)

解决方案统计

34.67%正确|65.33%不正确
持续提交了关于2020年5月27日

问题留言

方案点评

问题最近的解决者47

建议习题

更多来自该作者38

问题标签