POJ 1028

简介: Web Navigation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23963   Accepted: 10692 Description Standard web bro...
Web Navigation
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 23963   Accepted: 10692

Description

Standard web browsers contain features to move backward and forward among the pages recently visited. One way to implement these features is to use two stacks to keep track of the pages that can be reached by moving backward and forward. In this problem, you are asked to implement this.
The following commands need to be supported:
BACK: Push the current page on the top of the forward stack. Pop the page from the top of the backward stack, making it the new current page. If the backward stack is empty, the command is ignored.
FORWARD: Push the current page on the top of the backward stack. Pop the page from the top of the forward stack, making it the new current page. If the forward stack is empty, the command is ignored.
VISIT : Push the current page on the top of the backward stack, and make the URL specified the new current page. The forward stack is emptied.
QUIT: Quit the browser.
Assume that the browser initially loads the web page at the URL http://www.acm.org/

Input

Input is a sequence of commands. The command keywords BACK, FORWARD, VISIT, and QUIT are all in uppercase. URLs have no whitespace and have at most 70 characters. You may assume that no problem instance requires more than 100 elements in each stack at any time. The end of input is indicated by the QUIT command.

Output

For each command other than QUIT, print the URL of the current page after the command is executed if the command is not ignored. Otherwise, print "Ignored". The output for each command should be printed on its own line. No output is produced for the QUIT command.

Sample Input

VISIT http://acm.ashland.edu/
VISIT http://acm.baylor.edu/acmicpc/
BACK
BACK
BACK
FORWARD
VISIT http://www.ibm.com/
BACK
BACK
FORWARD
FORWARD
FORWARD
QUIT

Sample Output

http://acm.ashland.edu/
http://acm.baylor.edu/acmicpc/
http://acm.ashland.edu/
http://www.acm.org/
Ignored
http://acm.ashland.edu/
http://www.ibm.com/
http://acm.ashland.edu/
http://www.acm.org/
http://acm.ashland.edu/
http://www.ibm.com/
Ignored
//虽然给出了步骤,仍费了好大劲,此题很经典 
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
    int i,j,k;
    stack <string > b;
    stack <string > f;
    string s;
    string cur = "http://www.acm.org/";
    while(cin>>s)//cin以空格结束 
    {
        if(s=="QUIT")
            break;
        if(s[0]=='V')
        {
            b.push(cur);
            cin>>cur;
            cout<<cur<<endl;
            while(!f.empty())
                f.pop();
        }
        else if(s[0]=='B')
        {
            if(!b.empty())
            {
                //在visit语句中最后一个还没入任何站 
                f.push(cur);
                //这句话和下面那句一定不能搞反顺序 
                //Pop the page from the top of the backward stack, 
                //making it the new current page
                cur = b.top();
                b.pop();
                cout<<cur<<endl;//始终输出当前页 
            } 
            else
                cout<<"Ignored"<<endl;
        }
        else
        {
            if(!f.empty())
            {            
                b.push(cur);
                cur = f.top();
                f.pop();
                cout<<cur<<endl;//始终输出当前页 
            }
            else
                cout<<"Ignored"<<endl;
        }
    }
    return 0;
}
            
            
        
            
            

 

目录
相关文章
|
12月前
poj 3298 数状数组
题目大意是一条大街上住着n个乒乓球爱好者,他们的水平高低用一个数值表示,他们经常举办比赛,比赛要三个人,一人当裁判。对裁判是有一定要求的,裁判的水平必须介于两选手之间且必须住他们中间,计算可以举办多少场比赛
40 0
|
存储
|
算法 数据建模 机器学习/深度学习
poj 3620
题意:给出一个矩阵,其中有些格子干燥、有些潮湿。       如果一个潮湿的格子的相邻的四个方向有格子也是潮湿的,那么它们就可以构成更大       的湖泊,求最大的湖泊。       也就是求出最大的连在一块儿的潮湿的格子的数目。
569 0
|
人工智能 BI
|
测试技术
poj-1218 THE DRUNK JAILER 喝醉的狱卒
自己去看看原题; 题目大意: 就是一个狱卒喝醉了,他第一趟吧所有的监狱都带开,第二趟把能把二整除的监狱关闭,第三趟操作能把三整除的监狱; 求最后能逃跑的罪犯数 输入第一个数是代表 测试数据组数 每个数据代表狱卒来回的次数 当作开关问题即可 #include using names...
1001 0
|
人工智能
POJ 1936 All in All
Description You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way.
788 0