1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 構文解析メニュー(言語選択)
  4. 問題一覧 VB(Beta)編
  5. 逆ポーランド記法の計算#1 VB(Beta)編

構文解析メニューのサムネイル
逆ポーランド記法の計算#1 VB(Beta)編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

字句解析済みの数式 S の n 個の字句とその字句の種類 (a1, t1) 〜 (an, tn) が後置記法(逆ポーランド記法)の順で文字列で与えられます。計算結果を 1 行で出力してください。


なお、式には以下の制約が設けられています。


ある整数 a, b について

・ a / b の計算結果は小数点以下切り捨て

・ a / b において a > 0、b ≧ 0

・ a % b において a > 0、b ≧ 0

入力される値

1 行目に、数式の字句数 n が与えられます。

2 行目以降に、数式の字句 ai 字句の種類 ti が空白区切りで与えられます。



n
a1 t1
a2 t2
.
.
.
an tn


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

整数型での計算結果を 1 行で出力してください。

また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 1 ≦ n ≦ 105

・ ai、tiは全て文字列

・ aiに含まれるものは整数と演算子のみ

・ ai が整数である場合、0 ≦ ai ≦ 106

・ S は式として正しいことが保証されている

・ 演算子の種類は '+', '-', '*', '/', '%', '^' の 6 種類のみ

・ 式の値は常に 10-9 < 式の値 < 109 の範囲を超えない

入力例1

9
5 number
4 number
2 number
- operator
3 number
^ operator
* operator
3 number
% operator

出力例1

1

問題一覧へ戻る

ページの先頭へ戻る