#L2580. 「SHOI2011」编译优化
「SHOI2011」编译优化
题目描述
就像 PASCAL 语言和 C/C++ 语言一样,SH 语言也是一种编程语言。SH 语言共有 ( 26 ) 个寄存器,用大写拉丁字母 ( A, B, \dots, Z ) 表示。
SH 语言的程序结构如下:
- 第一行依次是这 ( 26 ) 个寄存器的初始值,用空格分隔。
- 第二行起,每一行都是一条命令。
SH 语言有三种命令,具体如下:
| 命令 | 格式 | 功能 | 限制 |
|---|---|---|---|
| ADD | ADD_R1_R2 | 将寄存器 ( R2 ) 的值加到寄存器 ( R1 ) 上 | 无 |
| GOTO | IF_R_<I1 GOTO_LINE_I2 | 若寄存器 ( R ) 的值小于立即数 ( I1 ),则跳转至第 ( I2 )(( \ge 2 ))行,否则继续执行下一行 | 至多出现一次,且只可能出现在第 ( I2 ) 行之后 |
| PRINT_R | 打印寄存器 ( R ) 的值 | 出现且仅出现在最后一行 |
现给定一个 SH 语言的程序,请输出 PRINT 命令打印的值。
输入格式
每个输入文件都是一个 SH 语言的程序。输入文件保证:所有寄存器的初始值以及 GOTO 命令中出现的立即数,均为不超过 ( 2^{63}-1 ) 的非负整数,但程序执行过程中寄存器的值不限于此。
输出格式
每个输出文件只有一行,包含一个整数,即 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
数据范围与提示
- 在每个测试点,如果输出与标准答案完全一致,将获得该测试点的全部分数;否则得 ( 0 ) 分。
- 本题为提交答案题,所有 ( 10 ) 个输入文件为
compiler1.in~compiler10.in,需分别给出对应的输出文件compiler1.out~compiler10.out。 - 只需提交输出文件,无需提交程序。