这个问题要求我们判断机器人在执行一系列包含确定指令(L、R)和不确定指令(?)后可能停靠的工位。关键在于处理不确定指令的所有可能性,确定最终机器人可能到达的所有工位。
考虑到指令"?"可以是L或R,如果有多个"?"指令,我们需要考虑这些指令所有可能的组合。直接枚举所有可能性会导致指数级复杂度,这对于长度达10^6的指令序列是不可行的。
在一条笔直的自动化轨道上,依次排列着 n 个编号为 1 到 n 的工位。一台运输机器人从工位 k 出发。任务调度程序会发送一个操作串,每个操作符为 L、R 或 ?。操作符 L 表示机器人尝试向左移动一个工位,若已在最左端则位置不变;操作符 R 表示向右移动一个工位,若已在最右端则位置不变;操作符 ? 表示随机选择执行一次 L 或 R。考虑所有随机选择的情形,请判断哪些工位可能成为机器人的最终停靠工位。数据范围:1≤k≤n≤106;操作串的长度不超过 10^6,且仅由 L、R、? 组成。
第一行输入两个整数 n 和 k,分别表示工位数量和初始工位编号,保证 1≤k≤n≤106。第二行输入一个字符串 s,长度不超过 10^6,仅由 L、R、? 组成。
输出一行一个长度为 n 的字符串,由字符 0 和 1 组成,不包含空格。对于每个 i(1≤i≤n),第 i 个字符为 1 表示编号为 i 的工位可能成为最终停靠工位,为 0 表示不可能。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.