854. 上古计算机

单点时限: 2.0 sec

内存限制: 512 MB

Smith有一台古老的计算机,这台计算机使用一套非常特殊的标记编程语言。现在我们仅考虑这一语言的一个小的子集,该子集可以实现一个简单计算器。

这台机器一共有 4 个无差别的寄存器,分别为 AX, BX, CX, DX,在指令中他们可以互相替代,下面的表格列出了所有支持的指令。

指令 中文名 格式 解释
IN 读操作指令 IN AX,number 读数据存储在AX中,AX=number
MOV 传送指令 MOV AX,BX AX=BX
ADD 加法指令 ADD AX,BX AX=AX+BX
SUB 减法指令 SUB AX,BX AX=AX-BX
MUL 乘法指令 MUL AX,BX AX=AX * BX
DIV 除法指令 DIV AX,BX AX=AX/BX(整除)
OUT 写操作指令 OUT AX 输出AX的值

例如:以下代码实现表达式 (2+3*5)/6的计算并输出计算结果。

IN AX,3
IN BX,5
MUL AX,BX
IN CX,2
ADD CX,AX
IN BX,6
DIV CX,BX
OUT CX

输入用这种特殊标记编程语言编写的一段代码,请编写一个翻译器,对代码进行翻译,输出最后运行结果。

输入格式

输入代码片段。

注意:读的数据均为int型整数。所有被计算的数值(包括中间值)均保证在int范围内。

输入保证不包含任何多余的空白字符,在开始执行前,所有寄存器的值可以视为已经清零。

  • 对于 30% 的数据指令数 $\leq 50$;
  • 对于 80% 的数据指令数 $\leq 100~000$;
  • 对于 100% 的数据指令数 $\leq 500~000$;

输出格式

对于每个 OUT 指令,输出一行表示结果。

样例

Input
IN AX,3
IN BX,5
MUL AX,BX
IN CX,2
ADD CX,AX
IN BX,6
DIV CX,BX
OUT CX
Output
2

736 人解决,954 人已尝试。

1038 份提交通过,共有 5210 份提交。

2.0 EMB 奖励。

创建: 6 年,6 月前.

修改: 1 年,7 月前.

最后提交: 1 月,4 周前.

来源: N/A