题目描述

祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干

个彩色珠子,其中任意三个相邻的珠子不会完全同色。此后,你可以发射珠子到

轨道上并加入原有序列中。一旦有三个或更多同色的珠子变成相邻,它们就会立

即消失。这类消除现象可能会连锁式发生,其间你将暂时不能发射珠子。

开发商最近准备为玩家写一个游戏过程的回放工具。 他们已经在游戏内完成

了过程记录的功能,而回放功能的实现则委托你来完成。

游戏过程的记录中,首先是轨道上初始的珠子序列,然后是玩家接下来所做

的一系列操作。你的任务是,在各次操作之后及时计算出新的珠子序列。

输入输出格式

输入格式:

第一行是一个由大写字母'A'~'Z'组成的字符串, 表示轨道上初始的珠子序列,

不同的字母表示不同的颜色。

第二行是一个数字n,表示整个回放过程共有n次操作。

接下来的n行依次对应于各次操作。每次操作由一个数字k和一个大写字母∑

描述, 以空格分隔。 其中, ∑为新珠子的颜色。 若插入前共有m颗珠子, 则k ∈ [0,m]

表示新珠子嵌入之后(尚未发生消除之前)在轨道上的位序。

输出格式:

输出共n行,依次给出各次操作(及可能随即发生的消除现象)之后轨道上

的珠子序列.

如果轨道上已没有珠子,则以“-”表示。

输入输出样例

输入样例#1:

ACCBA
5
1 B
0 A
2 B
4 C
0 A
输出样例#1:

ABCCBA
AABCCBA
AABBCCBA
-
A

说明

100%的数据满足1 ≤ n ≤ 10^3 ,0 ≤ m ≤ 2 × 10^3 。

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int where;
int flag=;
string c;
string a;
int n;
void pd()
{
int tot=;
do
{
flag=;
tot=;
int h=where-,t=where+,now=where;
while(a[h]==a[now]&&h>=)
{
tot++;
h--;
}
h++;
while(a[t]==a[now]&&t<a.size())
{
tot++;
t++;
}
t--;
if(tot>=)
{
//cout<<endl<<a<<"******"<<endl;
a.erase(h,tot);
flag=;
//cout<<endl<<a<<"-------"<<endl;
}
where=h;
}while(flag==); }
int main()
{
getline(cin,a);
scanf("%d",&n);
while(n--)
{
cin>>where>>c;
a.insert(where,c);
pd();
if(a.size()==)
cout<<"-"<<endl;
else cout<<a<<endl;
}
return ;
}

最新文章

  1. Mysql修改root密码
  2. mysql主从复制+读写分离 菜鸟入门
  3. iOS开发拓展篇—音频处理(音乐播放器4)
  4. HBase的快照技术
  5. 【Linux】浅谈I/O模型
  6. 桂电在linux环境下使用出校器
  7. Maximum Product of Word Lengths
  8. ORA-04031 With Leak in &quot;OBJ STAT MEMO&quot; Allocations Seen in V$SGASTAT on 10.2.0.5 (文档 ID 1350050.1)
  9. SQL Server 2008 R2 找不到 Install SQL Server Profiler 找不到 事件探查器 解决
  10. 3.RxJava详解
  11. 在Android studio模拟器中运行apk文件
  12. node八-核心模块、包
  13. Pycharm永久激活方式
  14. windows下bat批处理执行sql语句__Mysql
  15. jpa 联表查询 返回自定义对象 hql语法 原生sql 语法 1.11.9版本
  16. Tensorflow张量
  17. 读O目标KR关键结果的一些个人理解
  18. 使用Phantom omni力反馈设备控制机器人
  19. python中文件变化监控-watchdog
  20. c++类成员函数重载常量与非常量版本时避免代码重复的一种方法

热门文章

  1. [HAOI 2010] 计数
  2. codevs 2456栅栏
  3. sparkContext之一:sparkContext的初始化分析
  4. libvirt监控
  5. 【Linux学习】Linux用户管理1—用户查询指令、用户切换
  6. 二Java的常量与变量-1-1标识符
  7. 安全运维之关于个人ip定位与网站监控的分析
  8. Redis缓存雪崩、缓存穿透、缓存击穿、缓存降级、缓存预热、缓存更新
  9. Golang : flag 包简介
  10. 2018全球十大测试工具Top2 Katalon