题目描述
给定一个 位二进制串 和 次操作,操作有两种:
L k:整体左移 位——每个位都往高处挪 格,移出最高位的直接丢弃,右边空出的位置补 0;F i:把从最右数起的第 位翻转(0 变 1,1 变 0)。
全部操作做完后,输出最终的 位二进制串。
输入格式
第一行两个整数 、(,)。
第二行一个长度为 的二进制串 。
接下来 行,每行是 L k()或 F i()。
输出格式
一行 个字符:最终的二进制串。
样例
输入:
5 3
10110
L 1
F 2
L 2
输出:
11000
左移一位 10110 变 01100;翻转从右数第 2 位变 01110;再左移两位变 11000。
数据范围
,。提示:连续的左移可以先记账、攒成一笔,遇到 F(以及最后收尾)时一次移完——一条一条移会在大数据上超时。bitset 的长度要编译期写死,直接开 bitset<1000000> 把串低位对齐装进去,输出时只取最后 位。