这个问题要求我们判断机器人在执行一系列包含确定指令(A、B)和随机指令(X)后可能停留的位置。为了方便代码实现,在程序中我们将左移指令 B 映射为字符 'L',将右移指令 A 映射为 'R',将随机指令 X 映射为 '?'。关键在于处理随机指令的所有可能性,确定最终机器人可能到达的所有位置。
考虑到指令 X 可以是 A 或 B,如果有多个 X 指令,我们需要考虑这些指令所有可能的组合。直接枚举所有可能性会导致指数级复杂度,这对于长度达 10^6 的指令序列是不可行的。
小蓝有一个长度为 n 的数轴,位置编号依次为 1 到 n。她有一个机器人,初始时位于位置 k。
小蓝向机器人发送一串指令,每条指令由以下三种字符之一表示:
'A':向右移动一个单位,若已在 n 则保持不动;'B':向左移动一个单位,若已在 1 则保持不动;'X':随机等可能地变为 'A' 或 'B',然后执行对应的移动。对于所有可能的随机选择,机器人最终可能停留在某些位置上。你需要对每个位置 i(1≤i≤n)判断其是否可能成为最终位置:若可能,输出 1,否则输出 0,并将这些数字连续打印成一行。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.