atcoder#ZONE2021D. 宇宙人からのメッセージ

宇宙人からのメッセージ

题目描述

暗号文 S S が与えられます。この暗号文は、以下の操作で解読することが出来ます。

  • T T を空文字列とする。
  • i = 1, 2, , S i\ =\ 1,\ 2,\ \dots,\ |S| について、順番に以下を行う。 (S |S| S S の長さを表す)
    • S S i i 文字目が R のとき、T T を反転させる。
    • S S i i 文字目が R でないとき、その文字を T T の末尾に加える。
  • この操作の後、T T の中に同じ文字が 2 2 つ連続で並んでいたら、その 2 2 文字を取り除く。この操作を出来る限り続ける。 (最終的に得られる文字列は取り除く順番によらないことが証明できる)

この操作で得られる文字列 T T を出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

S S

输出格式

答えを出力せよ。

题目大意

题目描述

给出密文 SS,解读方法如下:

  • TT 为空字符串;
  • i=1,2,...,Si=1,2,...,|S| 以下按顺序进(S|S| 表示 SS 的长度);
    • SS 的第 ii 字母是 RR 时,将 TT 反转;
    • SS 的第 ii 个字母不是 RR 时,在 TT 的末尾加上该字母。
  • 然后,如果 TT 中连续出现了两个相同的字母,就去掉这两个字母。尽可能地继续这个操作(可以证明最终得到的字符串不会取决于去除的顺序)。

请输出通过以上操作得到的字符串 TT

输入格式

共一行,一个字符串 SS

输出格式

共一行,一个字符串 TT

说明

  • 字符串 SS 由英文小写字母和R组成;
  • 1S5×1051 \le |S| \le 5 × 10^5

样例 1 解释

  • 最初,TT 是空字符串。
  • TT 的末尾加上 oTT 变成了 o
  • TT 的末尾加上 zTT 变成了 oz
  • TT 反转,TT 变成了 zo
  • TT 的末尾加上 nTT 变成了 zon
  • TT 的末尾加上 oTT 变成了 zono
  • TT 的末尾加上 nTT 变成了 zonon
  • TT 的末尾加上 nTT 变成了 zononn
  • TT 的末尾加上 oTT 变成了 zononno
  • TT 的末尾加上 eTT 变成了 zononnoe
  • 删除连续排列的 nTT 变成了 zonooe
  • 删除连续排列的 oTT 变成了 zone

样例 2 解释

空串有时也会成为答案。

ozRnonnoe
zone
hellospaceRhellospace

提示

ストーリー

1 1 週間後、選りすぐりのプログラマ達が集まった。みなそれぞれに MAD なスキルを持つ曲者揃いだ。 早速 UFO との直接対決を開始しよう。
ずっとメッセージを送り続けているにもかかわらず放置されている UFO は心なしか少しイラついているように見える。 急いで UFO からのメッセージを解読しなければ。

制約

  • S S は英小文字と R からなる
  • 1 < = S < = 5 × 105 1\ <\ = |S|\ <\ =\ 5\ \times\ 10^5

Sample Explanation 1

以下のように解読できます。 - 初め、T T は空文字列である。 - oT T の末尾に加える。T T o となる。 - zT T の末尾に加える。T T oz となる。 - T T を反転する。 T T zo となる。 - nT T の末尾に加える。T T zon となる。 - oT T の末尾に加える。T T zono となる。 - nT T の末尾に加える。T T zonon となる。 - nT T の末尾に加える。T T zononn となる。 - oT T の末尾に加える。T T zononno となる。 - eT T の末尾に加える。T T zononnoe となる。 - 2 2 連続で並んでいる n を削除する。T T zonooe となる。 - 2 2 連続で並んでいる o を削除する。T T zone となる。

Sample Explanation 2

空文字列が答えになる場合もあります。