测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A921. COWBASIC--Platinum

编程题 省选/NOI-

题目描述

Bessie has invented a new programming language, but since there is no compiler
yet, she needs your help to actually run her programs.

COWBASIC is a simple, elegant language. It has two key features: addition and
MOO loops. Bessie has devised a clever solution to overflow: all addition is
done modulo $10^9+7$. But Bessie's real achievement is the MOO loop, which
runs a block of code a fixed number of times. MOO loops and addition can, of
course, be nested.

Given a COWBASIC program, please help Bessie determine what number it returns.

输入格式

You are given a COWBASIC program at most 100 lines long, with each line being
at most 350 characters long. A COWBASIC program is a list of statements.

There are three types of statements:



<variable> = <expression>

<literal> MOO {
<list of statements>
}

RETURN <variable>


There are three types of expressions:



<literal>

<variable>

( <expression> ) + ( <expression> )


A literal is a positive integer at most 100,000.

A variable is a string of at most 10 lowercase English letters.

It is guaranteed that no variable will be used or RETURNed before it is
defined. It is guaranteed that RETURN will happen exactly once, on the last
line of the program.

输出格式

Output a single positive integer, giving the value of the RETURNed variable.

输入输出样例

输入 #1
 x = 1
    10 MOO {
      x = ( x ) + ( x )
    }
    RETURN x
    
输出 #1
    
    1024
上一题 去做题 下一题