#P1986. 【美团】2025-3-8-字符串解密(二)

【美团】2025-3-8-字符串解密(二)

题目描述

薯条哥有一个加密的字符串ss,你无意之间得到了他的加密方式,尝试解开它吧!

初始时,解密字符串tt为空,除此之外,还有一个记录位移的整数pp00。依次对每一个i=1,2,...,si=1, 2,...,|s|进行以下操作(其中s|s|代表字符串ss的长度)

如果ss的第ii个字符为数字xx,则需要对pp修改,具体地:

p=0p=0,则将pp置为xx(即pxp\to x);

p0p≠0,则将pp中的数字全部向高位移动一位,随后将空出来的个位填上xx(即p10p+xp\to 10p+x

如果ss的第ii个字符不为数字,则需要先将字符串左移pp位,$(t_1t_2...t_pt_{p+1}...t_{|t|}\to t_{p+1}...t_{|t|}t_1t_2...t_p)$ ,随后将pp重新置为00,再对tt修改,具体地:

若字符为RR,则反转字符串tt;

若字符不为RR,则直接将这个字符添加到字符串tt的结尾;

请你直接输出解密完成后的字符串tt

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数T(1T10)T(1\le T\le 10)代表数据组数,每组测试数据描述如下:

在一行上输入一个长度为s(1s103)|s|(1\le |s|\le 10^3),且由大小写字母和数字混合构成的字符串ss代表薯条哥的加密串。

输出描述

对于每一组测试数据,在一行上输出一个字符串,代表解密完成后的字符串。

样例

输入

2
meRD2o
D0ame3

输出

Demo
Dame

样例解释

在第一组测试数据中:

  • 第一步,将mm加入,t=mt=m;
  • 第二步,将ee加入,t=met=me;
  • 第三步,翻转字符串,t=emt= em;
  • 第四步,将DD加入,t=emDt=emD;
  • 第五步,p=2p=2;
  • 第六步,先左移pp位,t=Demt=Dem; 再将oo加入,t=Demot=Demo.