智能复读机

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

BUAA飞梦群每天都充满了欢声笑语。但和其它群一样,飞梦群也有许多复读机群友,其中最活跃的就是 $F$、$G$、$C$ 三位同学。他们的复读方式各有不同:

$F$ 同学每次发言时都会在正常发言内容外面套一层括号,复读也是如此;

$G$ 同学会在发言内容前面加上 BuZhun

$C$ 同学会在发言内容后面加上 Grass

在三名活跃的复读机之外还有一些有趣的群友:

$P$ 同学每次出现必然是发图,而在 $P$ 同学发图结束之后,下一位同学会说:xjj!

$T$ 同学是群史官,会把群友的发言截图并在适当的时候发出来迫害。$T$ 同学发表截图的格式是:[img]:发言人:"发言内容" 。而在 $T$ 同学发过语录后,后面的同学会把截图里面的言论完整复读一遍。

但是,如果 $T$ 同学迫害 $F$、$G$、$C$ 同学时被迫害对象发现了(即 $T$ 同学发言的下一条即为受害者的发言),三位同学里的受害者就不会复读自己的语录了。$F$ 同学会说:ShaGuangFuHuaRen ,当然这句话外面也要套一层括号;$G$ 同学会说:BuZhunGaoTu,这句前面就不再加 $G$ 同学的口头禅了。而$C$ 同学会打出一个? ——当然,在最后也会加上他的口头禅。

现假设某一段时间内, $F$、$G$、$C$ 同学都只开启了复读模式,$P$ 同学这段时间只会发图,$T$ 同学每次也只会发语录截图。

现在 $T$ 同学想统计一下这一段时间内群友的发言,但是他发现他的数据丢失了一些——具体来说,是所有$F$、$G$、$C$ 同学的发言记录都丢失了,请你帮他把 $F$、$G$、$C$ 同学缺少的发言补上。

输入格式

多行输入,每行一个字符串,为 $T$ 同学存下的聊天记录。

聊天记录格式如下:

发言人:发言内容

其中,发言人的备注为一个字母(区分大小写)。

输出格式

按时间顺序以聊天记录的格式输出补上的 $F$、$G$、$C$ 同学的发言。

输入样例

H:Princess Connect! Re:Dive
F:
D:na))))))))
G:
F:
C:
P:[img]:KaguraMea.jpg
P:[img]:MinatoAqua.jpg
Y:xjj!
k:xjj!
C:
P:[img]:Alice.jpg
F:
T:[img]:F:"(ywwuyi died)"
G:
T:[img]:C:"waht?Grass"
C:
F:

输出样例

F:(Princess Connect! Re:Dive)
G:BuZhunna))))))))
F:(BuZhunna)))))))))
C:(BuZhunna)))))))))Grass
C:xjj!Grass
F:(xjj!)
G:BuZhun(ywwuyi died)
C:?Grass
F:(?Grass)

样例解释

$H$ 同学发了一句,$F$ 给它加了个括号。之后 $D$ 说了一句,$G$、$F$、$C$ 均按规则接着上一个人的发言复读。之后到了 $k$ 同学发言,$C$ 按规则复读。然后 $P$ 发图,$F$ 在按规则响应时给自己发言套上括号。然后 $T$ 发了 $F$ 的语录,$G$ 按规则复读了语录,$T$ 又发了 $C$ 的语录,$C$ 按规则响应后按自己的规则复读,然后 $F$ 继续给 $C$ 的发言套上括号,结束。

数据范围

每人的发言内容(不含前面的发言人备注和英文冒号)均为可显示字符,长度不超过502(想想为什么是502而不是500),发言条数总共不超过500条,且除了三位复读机外其他同学的发言内容至少有一个字符。

聊天记录不会从 $F$、$G$、$C$ 同学的发言记录开始,且 $T$ 同学不会紧接着 $P$ 同学发言(tu)。

$T$ 同学存储的聊天记录中,发言内容仅为可显示字符,且不含双引号(ASCII码为34)。

HINT

小心\r

$P$ 同学可能一次会发很多图。

每一位群友都可能成为 $T$ 同学迫害的对象。

有些时候,几个复读机在一起就能复读出99+。

有些时候,有些同学发的信息是“空白”的。

(这次不许再问数据坑点是什么了)

Author:刘裕炜

相关推荐