问题 5103 --浏览器

5103: 浏览器

题目描述

所有的网页浏览器都有访问、前进与后退按钮,它们的工作原理如下: 1. **访问**操作需要用户提供一个网址,浏览器将会访问该网址,并将该网址的前继设为跳转前的网址; 2. **后退**操作会检查当前网址是否有前继(除第一个网址外,每个网址都有前继),如果有,浏览器将访问当前网址的前继; 3. **前进**是用于抵消**后退**的: + 若前一步是**后退**,浏览器退回至**后退**前的网页。 + 若前一步是**访问**,忽略这条**前进**操作。 + 若前一步也是**前进**,若上步**前进**已经抵消了一个**后退**,则根据更早的操作确定**前进**的作用,否则,忽略这条操作。 给定 $n$ 条操作,请你模拟浏览器的行为,并输出它执行每条操作时所访问的网址。

输入

第一行:单个正整数 $n$ 表示操作数量; 接下来 $n$ 行:每行表示一步操作, + **访问**以字母 `v` 开头,后接一条网址,保证该网址中间没有空格或者其他不可见字符; 2. **后退**仅有一个字母 `b`; 3. **前进**仅有一个字母 `f`。

输出

共 $n$ 行:对每一步操作, + 如果浏览器访问了某个网址,则输出该网址; + 如果浏览器忽略了这部操作,则输出一个 `?`。

样例输入输出

输入#1 复制
10
v iai.sh.cn
v scs.sh.cn
v yacs.club
b
b
f
f
f
v ioinformatics.org
f
输出#1 复制
iai.sh.cn
scs.sh.cn
yacs.club
scs.sh.cn
iai.sh.cn
scs.sh.cn
yacs.club
?
ioinformatics.org
?
输入#2 复制
8
v iai.sh.cn
v taobao.com
v baidu.com
b
b
v tmall.com
f
b
输出#2 复制
iai.sh.cn
taobao.com
baidu.com
taobao.com
iai.sh.cn
tmall.com
?
iai.sh.cn

提示

保证每个输入的网址长度不会超过 $30$; + 对于 $30\%$ 的数据,$1\leq n \leq 1000$; + 对于 $60\%$ 的数据,$1\leq n \leq 10000$; + 对于 $100\%$ 的数据,$1\leq n \leq 50000$。
序号 标题 作者 发表时间 费用 订购数 操作