ページ

2012/04/17

[競技プログラミング][C言語][AOJ10032]Stacking Blocks I

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10032

Stacking Blocks I

ロボットを操作して、ブロックの山を作る。各ブロックにはアルファベット1文字で示された色が着いている。
ロボットは以下の命令を実行する:

push c: 色がcであるブロックを山に積む
pop: 山の頂点からブロックを1つ取り除く
quit: 終了する
最初、山は空(から)である。

ロボットへの命令を読み込んで、取り除かれたブロックの色を順番に出力するプログラムを作成せよ。

Input

入力は命令の列からなる。1つの命令が1行に与えられる。命令の種類は上述した通りである。
ブロックの色cは、aからzまでのアルファベットで与えられる。

quit命令でプログラムを終了せよ。

Output

取り除かれたブロックの色を順番に出力せよ。1つの色を1行に出力せよ。

Constraints

山に含まれるブロックの数が1000を超えることはない。

誤った命令は与えられない。
回答:AOJ/vol100/AOJ10032.cpp at master · wada811/AOJ
データ構造とアルゴリズムをちゃんと勉強したことがないので自分で作ってみるのは楽しかった。
添字が小さい方に詰めていく形のスタックです。今思えば末尾に追加するほうが良いのでは?
時間があったら作りなおしてみようかな。

それではまた明日。