POJ 1028
题目大意
。就是说我们使用的浏览器都的前进退后功能都是由两个
堆栈做成的。
BACK
是把最近记录的网页放到
forword_stack
里面然后从
backword_stack
里面弹出一个元素当作当前网页,如果
backword_stack
是空的话那么输出
ignored
FORWARD
就是把当前网页放到
backword_stack
里面然后
从
forword_stack
里推出一个元
素当作当前网页。如果
forword_stack
是空的话输出
ignored
VISIT
就是把当前网页放到
backward_stack
里面
然后输出新网页,并且把
forword_stack
清空
QUIT
就是退出浏览器的意思
POJ 1028
题目大意
。就是说我们使用的浏览器都的前进退后功能都是由两个
堆栈做成的。
BACK
是把最近记录的网页放到
forword_stack
里面然后从
backword_stack
里面弹出一个元素当作当前网页,如果
backword_stack
是空的话那么输出
ignored
FORWARD
就是把当前网页放到
backword_stack
里面然后
从
forword_stack
里推出一个元
素当作当前网页。如果
forword_stack
是空的话输出
ignored
VISIT
就是把当前网页放到
backward_stack
里面
然后输出新网页,并且把
forword_stack
清空
QUIT
就是退出浏览器的意思
POJ 1028题目大意 。就是说我们使用的浏览器都的前进退后功能都是由两个堆栈做成的。
BACK 是把最近记录的网页放到forword_stack 里面然后从backword_stack 里面弹出一个元素当作当前网页,如果backword_stack是空的话那么输出ignored
FORWARD 就是把当前网页放到backword_stack 里面然后 从forword_stack里推出一个元素当作当前网页。如果 forword_stack是空的话输出ignored
VISIT 就是把当前网页放到backward_stack里面 然后输出新网页,并且把forword_stack清空
QUIT 就是退出浏览器的意思
/*
* POJ1028_1.cpp
*
* Created on: 2013年11月25日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
#include <stack>
#include <string>
using namespace std;
int main(){
stack<string> a;
stack<string> b;
a.push("http://www.acm.org/");
string c;
while(cin>>c&&c!="QUIT"){
if(c == "VISIT"){
cin >> c;
a.push(c);
while(!b.empty()){
b.pop();
}
cout<<c<<endl;
}else if(c == "BACK"){
c = a.top();
a.pop();
if(a.empty()){
cout<<"Ignored"<<endl;
a.push(c);
}else{
cout<<a.top()<<endl;
b.push(c);
}
}else {
if(b.empty()){
cout<<"Ignored"<<endl;
}else{
cout<< b.top()<<endl;
a.push(b.top());
b.pop();
}
}
}
return 0;
}