PKU 1028 Web Navigation

Web Navigation

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
    string current = "http://www.acm.org/";
    vector<string> backward, forward;

    while ( true )
    {
        string c;  cin >> c;

        bool ignore = false;

        if ( c == "BACK" )
        {
            if ( backward.empty() )
                ignore = true;
            else
                forward.push_back( current ),
                current = backward.back(),  backward.pop_back();
        }
        else if ( c == "FORWARD" )
        {
            if ( forward.empty() )
                ignore = true;
            else
                backward.push_back( current ),
                current = forward.back(),  forward.pop_back();
        }
        else if ( c == "VISIT" )
        {
            backward.push_back( current );
            cin >> current;
            forward.clear();
        }
        else if ( c == "QUIT" )
            break;

        if ( ignore )
            cout << "Ignored" << endl;
        else
            cout << current << endl;
    }

    return 0;
}