1298 : 连珠消除
Time Limit: 1 Sec Memory Limit: 128 MB Submitted: 26 Solved: 9Description
水平轨道上有一系列珠子,至多有 \(A \sim C\) 共 \(26\) 种颜色,如果有 \(3\) 个或以上的同色珠子相邻,则会自动消除,剩下的珠子会重新连在一起,如果仍有可以消除的情况,则会连锁反应继续消除.
有一系列向其中插入珠子的操作,两次操作之间会等待所有连锁反应的消除完成.
Input
第一行为一个 \(A \sim C\) 组成的非空字符串,长度不超过 \(1000\),初始状态不存在可消除情况.
第二行 \(1 \leq m \leq 1000\) 表示 \(m\) 次插入操作.
接下来 \(m\) 行每行空格隔开两个字母,前一个字母表示插入位置为现有珠子从左向右第一次出现该颜色珠子位置之后,如果没有该颜色则插入到末尾. 第二个字母表示的插入的珠子颜色.
Output
输出一个字符串,表示所有操作结束后,从左到右的珠子颜色.
如果珠子已清空,则输出“-
”.
Sample
ABABBA 6 A A B A B B A A B A B B ##CASE## BBAAB 7 A B B A B B A B B B B B B B
BBABAABBA ##CASE## AABBAB
Hint
Source
算法竞赛入门-线性表-链表-双向链表Author
CSGrandeur