正解のイは、逆ポーランド記法 (RPN) の式をスタックで評価する際に、オペランド(変数や数値)が積まれ、演算子が現れるとオペランドが2つ取り出されて演算が行われ、結果が再びスタックに積まれるという処理を繰り返す。スタックの深さは、オペランドの積まれる数と演算子による取り出し数の差によって変化する。イの「ab+cd++」では、まずa, bが積まれ、'+'でa, bが取り出され結果が積まれ、次にc, dが積まれ、'+'でc, dが取り出され結果が積まれ、最後に'+'でそれまでの結果が取り出される。この処理過程において、スタックに積まれるオペランドの数が演算子の数に対して相対的に少なくなるように式が構成されているため、スタックの深さは抑えられる。
読み込み中...