#P4639. [SHOI2011] 编译优化
[SHOI2011] 编译优化
题目描述
就像 PASCAL 语言和 C/C++ 语言一样, SH 语言也是一种编程语言。 SH 语言共有 个寄存器,用大写拉丁字母 A, B, … , Z 表示。 SH 语言的程序中,第一行依次是这 个寄存器的初始值,用空格分隔。程序的第二行起,每一行都是一条命令。 SH 语言有三种命令,如下表所示(在格式这一列中,用下划线代替实际语言中的一个空格)。
-
ADD
命令 格式:ADD_R1_R2
功能:将寄存器 R2 的值加到寄存器 R1 上。 限制:无。 -
GOTO
命令 格式:IF _R_ < _I1_ GOTO _LINE_ I2
功能:如果寄存器 R 的值小于立即数 I1 ,则跳转至第 I2 ( )行,否则继续执行下一行。限制:至多出现一次,且只可能出现在第 I2 行之后。 -
PRINT
命令 格式:PRINT_R
功能:打印寄存器 R 的值。限制:出现且仅出现在最后一行。
现给定一个 SH 语言的程序,请输出 PRINT
命令打印的值。
输入格式
每个输入文件都是一个 SH 语言的程序。输入文件保证:所有寄存器的初始值以及 GOTO
命令中出现的立即数,均为不超过 的非负整数,但程序执行过程中寄存器的值不限于此。
输出格式
每个输出文件只有一行,包含一个整数,即 PRINT
命令所打印的值。
0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ADD A B
IF A < 220 GOTO LINE 2
PRINT A
300
提示
在每个测试点,如果您的输出与标准答案完全一致,您将能得到该测试点的全部分数;否则,您将在该测试点得 分。
本题为提交答案题,所有的 个输入文件 compiler1.in ~ compiler10.in
都已存放在题目背景的下载链接中。对于每个输入文件,您需要分别给出相应的输出文件 compiler1.out ~ compiler10.out
。
注意:您只需提交输出文件而无需提交任何程序。