这个问题要求我们判断滑块在执行一系列包含确定指令(L、R)和不确定指令(?)后可能停留的位置。关键在于处理不确定指令的所有可能性,确定最终滑块可能到达的所有位置。
考虑到指令"?"可以是L或R,如果有多个"?"指令,我们需要考虑这些指令所有可能的组合。直接枚举所有可能性会导致指数级复杂度,这对于长度达10^6的指令序列是不可行的。
现有一条长度为 n 的水平轨道,位置从左到右依次编号为 1 到 n。一个滑块初始时位于位置 k。 现在需要依次执行一个指令序列,每个指令均为以下三种之一:
'L':滑块向左移动一个单位;若已在位置 1,则保持不动。'R':滑块向右移动一个单位;若已在位置 n,则保持不动。'?':随机地变为 'L' 或 'R',然后执行相应的移动。给定完整的指令序列,考虑 '?' 所有可能的随机结果,滑块最终可能停在一些不同的位置上。你需要判断轨道上每一个位置是否有可能成为终点。
数据范围:轨道长度 n 满足 1≤n≤106,初始位置 k 满足 1≤k≤n。指令序列的长度不超过 106,且仅由字符 'L'、'R' 和 '?' 组成。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册