Little Monkey プログラミング C++ | ブラウザ

幼い頃からC++を学びましょう!Xueersi Monkey プログラミングの学習プロセスにおける質問を記録し、あらゆる瞬間を記録します。いかなる侵害も直ちに削除されますので、ご支援のほどよろしくお願いいたします。

概要の投稿を添付します: Little Monkey プログラミング C++ | 概要-CSDN ブログ


[タイトル説明]

シャオホウは自分の強さを向上させるために、主要なウェブサイトで質問に答えることがよくあります。それから彼は、ブラウザには 3 つの操作があることを発見しました: アクセス、進む、戻るその動作原理は次のとおりです。

アクセス: アクセス操作では、ユーザーが URL を指定する必要があります。ブラウザは URL にアクセスし、URL の前の URL をジャンプ前の URL として設定します。

Back : Back 操作では、現在の URL に先行 URL があるかどうかがチェックされます (最初の URL を除くすべての URL に先行 URL があります)。先行 URL がある場合、ブラウザは現在の URL の先行 URL にアクセスします。

Forward : 前進操作中の後退移動をオフセットするために使用されます。

  • 前のステップに戻る場合、ブラウザは戻る前の Web ページに戻ります。
  • 前のステップがアクセスの場合、この進む操作は無視してください (つまり、進むボタンは灰色ではなく、クリックできません)。
  • 前のステップも順方向であり、前の順方向ステップが逆方向ステップをオフセットした場合、順効果は前の操作に基づいて決定されます。そうでない場合、この操作は無視されます。

ここで、子猿に n 回の 操作が与えられています。ブラウザの動作をシミュレートし、各操作を実行するときにアクセスする URL を出力してください。

【入力】

最初の行には整数 nが含まれています。

次の n 行は、各行が操作のステップを表します。

  • アクセス操作: 文字 V で始まり、URL が続きます。URL の途中にスペースやその他の非表示の文字が含まれていないことを確認します。
  • バック操作: 文字 B で表されます。
  • 順方向操作: 文字 F で表されます。

【出力】

 各ステップの合計n 行 :

  • ブラウザが特定の URL にアクセスすると、その URL が出力されます。
  • ブラウザがこのステップを無視すると、? が出力されます。

【入力サンプル】

10
V noi.cn
V xiaohoucode.com
V baidu.com
B
B
F
F
F
V gesp.ccf.org.cn
F

【出力サンプル】

noi.cn
xiaohoucode.com
baidu.com
xiaohoucode.com
noi.cn
xiaohoucode.com
baidu.com
?
gesp.ccf.org.cn
?

【詳しいコード説明】

#include <bits/stdc++.h>
#include <stack>
using namespace std;
int n;
stack<string> A, B;
int main()
{
    cin >> n;
    for (int i=1; i<=n; i++) {
        char op;
        string s;
        cin >> op;
        if (op == 'V') {
            cin >> s;
            A.push(s);
            cout << s << endl;
            while (B.size()>0) B.pop();
        } else if (op=='B') {
            if (A.size()<2) cout << "?" << endl;
            else {
                B.push(A.top());
                A.pop();
                cout << A.top() << endl;
            }
        } else {
            if (B.size()==0) cout << "?" << endl;
            else {
                A.push(B.top());
                B.pop();
                cout << A.top() << endl;
            }
        }
    }
    return 0;
}

【運用結果】

10
V noi.cn
noi.cn
V xiaohoucode.com
xiaohoucode.com
V baidu.com
baidu.com
B
xiaohoucode.com
B
noi.cn
F
xiaohoucode.com
F
baidu.com
F
?
V gesp.ccf.org.cn
gesp.ccf.org.cn
F
?

おすすめ

転載: blog.csdn.net/guolianggsta/article/details/134066733