测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A4301. 操作大师

编程题 入门

题目描述

Gold King 想只用键盘实现浏览器的前进、后退、访问功能。浏览器历史记录的行为定义如下:

1. **访问**
- 如果当前历史记录中有“前进”的记录(即当前浏览位置之后还有记录),则将这些记录全部清除。
- 将给定的网址添加到历史记录末尾,并访问该网址(即当前浏览位置移动到新网址)。
- 输出该网址。

2. **后退**
- 如果当前浏览位置之前有历史记录,则后退到前一个网址。
- 输出后退后的网址。
- 如果已经是历史记录的第一个网址,则忽略该操作,输出 ?

3. **前进**
- 如果上一步操作是 **访问(v)**,则忽略本次前进操作,输出 ?
- 否则(上一步是后退或前进),如果当前浏览位置之后有历史记录,则前进到下一个网址,并输出该网址。
- 如果当前已经是最后一条记录,则忽略该操作,输出 ?

注意:
- 输入保证每条操作格式正确,网址不含空格或不可见字符。
- 初始状态下没有历史记录。

输入格式

第一行输入一个正整数m,表示有m条操作;
接下来输入 m 行,每行表示一个操作,
前进用一个字母 f 表示;
后退用一个字母 b 表示;
访问用一个字母 v 开头,后面接一条网址,(保证该网址中间没有空格或者其他不可见字符)。

输出格式

输出共 m 行,分别对应每一个操作,
如果浏览器访问了某个网址,则输出该网址;
如果浏览器忽略了这部操作,则输出一个"?"。

输入输出样例

输入 #1
4
v xiaomawang.com
v xiaoma.wang
b
f
 
输出 #1
xiaomawang.com
xiaoma.wang
xiaomawang.com
xiaoma.wang
 
输入 #2
5
v xiaoma.com.cn
b
f
v www.xiaomawang.com
f
输出 #2
xiaoma.com.cn
?
?
www.xiaomawang.com
?

说明/提示

$1 \le m \le 2\times10^5$
上一题 去做题 下一题