(Relax 水题1.1)POJ 1028 Web Navigation

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;
}



你可能感兴趣的:((Relax 水题1.1)POJ 1028 Web Navigation)