#4352. Reverse Permutation
Reverse Permutation
题目描述
给定整数 和一个由 o、x 组成的长度为 的字符串 。
有一个长度为 的整数序列 ,初始时 。
按 的顺序,依次对 执行下面的操作:
- 若
o,把 的前 项翻转,即把 替换成 $(A_k, A_{k-1}, \ldots, A_1, A_{k+1}, A_{k+2}, \ldots, A_N)$; - 若
x,什么也不做。
请求出所有操作结束后的 。
输入格式
N
S
输出格式
在一行中输出最终 的所有元素,相邻两个数之间用一个空格隔开。
输入示例 1
5
ooxoo
输出示例 1
5 2 1 3 4
示例 1 说明
在每次操作后的变化如下:
- :翻转前 项,(只有一项,翻了等于没翻)。
- :翻转前 项,。
- :
x,什么也不做。 - :翻转前 项,。
- :翻转前 项,。
输入示例 2
7
ooooooo
输出示例 2
7 5 3 1 2 4 6
示例 2 说明
每一步都翻转。可以观察到最终结果呈现「奇数从大到小、再接偶数从小到大」的规律。
输入示例 3
15
xooxoxoxoxoxxoo
输出示例 3
15 11 10 7 6 3 1 2 4 5 8 9 12 13 14
示例 3 说明
中 o 与 x 混杂,共翻转 次。可以观察到最终序列里 排在最前面——因为最后一次翻转发生在 ( o),把当时排在末尾的 甩到了最前。这正是「最后一次翻转决定首元素」的直观体现。
约束条件
- 是整数
- 是由
o和x组成的长度为 的字符串