B - f(f(f(f(f(x)))))
Ceylon
2
s
1024
MB
100
点
問題文
正の整数
最初
と更新する。
ここで、<expr>
シンボルで表されます。
<expr> ::= <term> | <expr> "+" <term>
<term> ::= <factor> | <term> "*" <factor>
<factor> ::= <value> | <value> "^" <number>
<value> ::= <number> | "x"
<number> ::= 1以上10^9未満の整数 ただし先頭の 0 は省略される
記号はそれぞれ以下の意味を表します。
x
:+
: 足し算*
: 掛け算、ただし足し算+
よりも先に計算される^
: 累乗、ただし足し算+
や掛け算*
よりも先に計算される
たとえば、以下の文字列は上の <expr>
シンボルになり得ます。
998244353
:x+1
:x*x+2*x+1
:123+456*x^789
:
また、以下の文字列は <expr>
シンボルになり得ません。
-x
1/2
2x
2^x
2^3^4
制約
は整数 は問題文のBNF表記における <expr>
部分点
以下の条件を満たすテストケースにすべて正解したとき、記載された点数が与えられる。
- (20点)
に *
,^
は含まれない。 - (20点)
に ^
は含まれない。 - (30点)
- (30点) 追加の制約なし
入力
入力は、以下の形式で標準入力から与えられる。
出力
答えを
入力例 1
1
x+1+2+3
出力例 1
7
入力例 2
5
2*x*x+1
出力例 2
843
です。 なので、 と更新します。 です。 なので、 と更新します。 です。 なので、 と更新します。 です。 なので、 と更新します。 です。 なので、 と更新します。
これより、操作を
よって、これを
入力例 3
5
2*x^2+1
出力例 3
843
累乗 ^
は足し算 +
や掛け算 *
よりも先に計算してください。