時間制限: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