解题思路
题意:
给定一个长度为 n(n 为偶数)的字符串 s,仅由大小写英文字母组成。设“阴阳盘”初始状态为“阴”,共有 n 次操作,第 i 次访问位置 p,规则如下:
- 若 i 为奇数,p = n/2 - ⌊i/2⌋
- 若 i 为偶数,p = n/2 + i/2
然后根据当前阴阳盘状态及 s[p] 的大小写执行操作:
P4217.第2题-扩散
题目内容
给定一个长度为 n 的字符串 s (下标从 1 开始),仅由大小写英文字母组成。保证 n 为偶数。定义如下“扩散”过程:
-
总共进行 n 次操作。初始时,阴阳盘处于“阴"的状态;
-
第 i 次操作访问的位置 p 的确定方式如下:
- 若 i 为奇数,则 p=2n−[2i] ;
- 若 i 为偶数,则 p=2n+2i ;
-
随后,根据 sp,的大小写与阴阳盘当前状态进行修改。此修改规则与操作次序 i 的奇偶性无关;
- 若阴阳盘为“阴"且 sp ,为小写字母,则将 sp 改为对应大写字母,并将阴阳盘切换为“阳”;
- 若阴阳盘为”阳"且 sp,为大写字母,则将 sp 改为对应小写字母,并将阴阳盘切换为“阴";
- 其他情况下,不作任何修改,阴阳盘状态保持不变
请输出全部操作结束后得到的字符串。
【名词解释】
[x] 代表对 x 进行下取整操作。
输入描述
第一行输入一个整数 n(1≤n≤2×105) 表示字符串长度。保证 n 为偶数。
第二行输入一个长度为 n 的字符串 ,仅由大小写英文字母组成。
输出描述
输出一个长度为 n 的字符串,表示所有操作结束后的结果。
样例1
输入
6
abcDEF
输出
ABCdef
说明
样例解释:
访问顺序为 p=3,4,2,5,1,6 ;
步骤 1:s3=′c’ 为小写且盘为 “阴”,改为 ′C’,盘变 “阳“ ;
步骤 2:s4=′D’ 为大写且盘为 “阳”,改为 ′d’ ,盘变 ”阴” ;
步骤 3:s2=′b’ 为小写且盘为 “阴”,改为 ′B’ ,盘变 “阳” ;
步骤 4:s5=′E’ 为大写且盘为 “阳”,改为 ′e’ ,盘变 “阴” ;
步骤 5:s1=′a’ 为小写且盘为 “阴”,改为 ′A’ ,盘变 “阳” ;
步骤 6:s6=′F’ 为大写且盘为 “阳”,改为 ′f’ ,盘变 “阴“ 。
最终得到 “ABCdef" 。