CF264A Escape from Stones
题目描述
松鼠 Liss 生活在一片安宁的森林中,但意外的麻烦发生了。山上有石头掉落。最开始,松鼠 Liss 占据区间 $[0,1]$。接下来,会有 $n$ 块石头依次掉落,Liss 需要躲避这些石头。所有石头编号为 $1$ 到 $n$,掉落顺序与编号一致。
石头总是落在 Liss 当前区间的中心。当 Liss 占据区间 $[k-d, k+d]$ 并有石头掉落在 $k$ 时,她只能向左或向右逃跑。如果她向左逃跑,新区间为 $[k-d, k]$;如果向右逃跑,新区间为 $[k, k+d]$。
现给定一个长度为 $n$ 的字符串 $s$,如果第 $i$ 个字符是 "l" 或 "r",分别表示第 $i$ 块石头掉落时 Liss 向左或向右逃跑。请你输出所有 $n$ 块石头最终从左到右的编号顺序。
输入格式
输入仅包含一行,一个字符串 $s$($1 \leq |s| \leq 10^6$)。字符串中每个字符均为 "l" 或 "r"。
输出格式
输出共 $n$ 行,第 $i$ 行输出最终从左到右第 $i$ 块石头的编号。
说明/提示
在第一个样例中,第 1, 2, 3, 4, 5 号石头的位置如下图所示:

所以应输出序列:3, 5, 4, 2, 1。
由 ChatGPT 5 翻译