1028:Web Navigation

keyword

シミュレーション C++

概要

ウェブブラウザの戻るや進むや新しいウェブページに移動などのコマンド列が与えられる。その度に今表示しているウェブページのアドレスを出力する問題。
実装ゲー。queueを使うもよし。配列で処理するもよし。

string st[120];

int main(){
    string line;
    int end, p;
    st[0] = "http://www.acm.org/";
    p = 0;
    end = 0;
    while(getline(cin,line)){
        stringstream ss(line);
        string str;
        ss >> str;
        if(str == "VISIT"){
            ss >> str;
            p++;
            end = p;
            st[p] = str;
            printf("%s\n",st[p].c_str());
        }
        else if(str == "BACK"){
            if(p){
                p--;
                printf("%s\n",st[p].c_str());
            }
            else
                puts("Ignored");
        }
        else if(str == "FORWARD"){
            if(p<end){
                p++;
                printf("%s\n",st[p].c_str());
            }
            else
                puts("Ignored");
        }
        else if(str == "QUIT"){
            break;
        }
    }
    return 0;
}