zoj1061 Web Navigation (栈——基础练习)
来源:互联网 发布:数据库语言获取日期 编辑:程序博客网 时间:2024/06/05 18:49
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=61
题意:模拟网站前进后退的功能。要有俩个栈——一个是back栈,一个是forward栈。
BACK操作:如果(back栈为空) 输出ignore。否则,把当前网页入forward栈,back栈首出栈,打印当前网页;
FORWARD操作:如果(forward栈为空) 输出ignore。否则,把当前网页入back栈,forward栈首出栈,打印当前网页
VISIT操作:把当前网页入back栈。输入一个网页,使之成为当前网页,清空forward栈。打印当前网页
QUIT操作:退出这次操作。
分析:一共T组数据,每俩组数据输出一行空行。理解后会感觉这题挺基础的,下面看代码:
#include<stdio.h>#include<iostream>#include<string>#include<stack>using namespace std;int main(){ int T; cin >> T; string cur="http://www.acm.org/",ch,v; //cur表示当前网页,ch,v用于输入 stack<string> b,f;//back、forward栈 while(T--){ while(1){ cin >> ch;//输入命令 if(ch[0]=='Q'){ while(!b.empty())//清空back栈 b.pop(); while(!f.empty())//清空forward栈 f.pop(); cur="http://www.acm.org/"; if(T!=0) cout << "\n"; break; }else if(ch[0]=='V'){ cin >> v; b.push(cur); cur=v; while(!f.empty())//清空forward栈 f.pop(); cout << cur <<"\n"; }else if(ch[0]=='B'){ if(b.empty()) {printf("Ignored\n");continue;} f.push(cur); cur=b.top(); b.pop(); cout << cur <<"\n"; }else if(ch[0]=='F'){ if(f.empty()) {printf("Ignored\n");continue;} b.push(cur); cur=f.top(); f.pop(); cout << cur <<"\n"; } } } return 0;}
0 0
- zoj1061 Web Navigation (栈——基础练习)
- zoj1061 Web Navigation
- ZOJ1061 Web Navigation
- UVALive2356 ZOJ1061 Web Navigation【堆栈+模拟】
- POJ1028——Web Navigation
- ZOJ1061
- zoj1061
- web编程——Servlet基础练习
- stack的应用——Web Navigation
- POJ 1028——Web Navigation
- POJ1028-Web Navigation-栈
- Web Navigation - POJ 1028 栈
- poj算法题1028——Web Navigation
- Web Navigation
- Web Navigation
- Web Navigation
- Web Navigation
- Web Navigation
- Recycle Bin
- openstack分析-eventlet
- 第十九周oj刷题:时间差
- 为ORACLE表空间或临时表空间增加数据文件
- jsp页面上显示天气预报和动态时间
- zoj1061 Web Navigation (栈——基础练习)
- 2014年最后一日
- 将android插件做成U3D专用插件
- FFOS 1.4耳机线控架构实现
- oracle数据库dmp文件版本转换
- MySQL体系结构
- c++基本编程之两个数的和
- iOS 7 力学 粗解UIDynamicAnimator
- Perl $#ARGV