1028 Web Navigation

Last-modified: 2010-04-19 (月) 21:02:40

原文
Submit


時間制限:1000ミリ秒
メモリ制限:10000KB

問題

通常のウェブブラウザーは最近訪れたページの中で戻ったり進んだりする機能を搭載している。この機能の実装において、戻ったり進んだりすることで到達できるページの履歴を保存しておく二つのスタックを使うことはひとつの方法である。この問題において、あなたはこの機能を実装しなければならない。
次に挙げるコマンドがサポートされる必要がある。
BACK:今閲覧しているページを「進む」スタックの一番上にプッシュする。「戻る」スタックの一番上からページをポップし、そのポップしたページを現在のページとする。「戻る」スタックが空である場合、このコマンドは無視される。
FORWARD:今閲覧しているページを「戻る」スタックの一番上にプッシュする。「進む」スタックの一番上からページをポップし、そのポップしたページを現在のページとする。「進む」スタックが空である場合、このコマンドは無視される。
VISIT:今閲覧しているページを「戻る」スタックの一番上にプッシュし、新しいURLを現在のページに指定する。「進む」スタックは空にされる。
QUIT:ブラウザーを閉じる。
ブラウザーは最初、http://www.acm.org/のページをロードしていると想定しなさい

入力

入力はコマンドの列で表される。BACK,FORWARD,VISIT,QUITのコマンドはすべて大文字である。URLには空白文字は含まれず、70文字以下で構成される。それぞれのスタックに100より多くの要素が要求されることはないと考えなさい。入力の終わりはQUITコマンドで示される。

出力

QUIT以外のすべてのコマンドで、コマンドが無視されない場合、コマンドを実行したあと現在のページのURLを出力しなさい。無視される場合、"Ignored"と出力しなさい。すべてのコマンドに対する出力はそれぞれ違う行に出力されなければならない。QUITコマンドに対する出力はない。

入力例

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

出力例

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

出典

East Central North America 2001