#P8. 浏览器【暂无测试数据】

浏览器【暂无测试数据】

当前没有测试数据。

题目描述

在浏览器里,有“前进”和“后退”两个按钮。每当按下后退按钮后,浏览器会返回上一个界面,按下前进按钮时,浏览器会撤销前面的“后退操作”。每当直接浏览新网页或没有更多的后腿操作时,前进按钮会失效;每当后退到第一个浏览的界面时,后退按钮会失效。

现在请你编写一个程序,模拟浏览器的“前进”和“后退”功能。

输入描述

输入有多行,最后一行为close,表示关闭。 输入中共有3种操作:

  1. 第一种操作为加载网页,后面有一个字符串参数,表示网址,格式为:1 网址
  2. 第二种操作为后退操作,用来返回至上一个网页,没有参数,格式为:2
  3. 第三种操作为前进操作,用来撤销后退操作,没有参数,格式为:3

输出描述

输出行数比输入行数少一行,每行表示这次操作后显示的网页,如果“后退”或“前进”操作无法使用(没有更多的网页可以后退或前进),则输出error

1 https://page1.cn
1 https://page2.cn
2
3
2
2
3
3
2
1 https://page3.cn
3
2
3
2
2
close
https://page1.cn
https://page2.cn
https://page1.cn
https://page2.cn
https://page1.cn
error
https://page2.cn
error
https://page1.cn
https://page3.cn
error
https://page1.cn
https://page3.cn
https://page1.cn
error

样例解析

逐行解析:

  1. 输入1 https://page1.cn所以输出https://page1.cn
  2. 输入1 https://page2.cn所以输出https://page2.cn
  3. 输入2,上一个浏览的网页是https://page1.cn,所以输出1 https://page1.cn
  4. 输入3,上一次被后退掉的网页是https://page2.cn,所以输出https://page2.cn
  5. 输入2,上一个浏览的网页是https://page1.cn,所以输出1 https://page1.cn
  6. 输入2https://page1.cn已经是本次浏览的第一个网页了,所以输出error
  7. 输入3,上一次被后退掉的网页是https://page2.cn,所以输出https://page2.cn
  8. 输入3https://page2.cn已经是本次浏览的最后一个网页了,所以输出error
  9. 输入2,上一个浏览的网页是https://page1.cn,所以输出1 https://page1.cn
  10. 输入1 https://page3.cn,所以输出https://page3.cn,忽略前面后退掉的网页
  11. 输入3,刚才的1 https://page3.cn已经忽略掉前面后退掉的网页,此时没有可以前进的网页,所以输出error
  12. 输入2,上一个浏览的网页是https://page1.cn,所以输出1 https://page1.cn
  13. 输入3,上一次被后退掉的网页是https://page3.cn,所以输出https://page3.cn
  14. 输入2,上一个浏览的网页是https://page1.cn,所以输出1 https://page1.cn
  15. 输入2https://page1.cn已经是本次浏览的第一个网页了,所以输出error
  16. 输入close,退出程序。