loj#P2580. 「SHOI2011」编译优化

「SHOI2011」编译优化

Cannot parse: undefinedms error parsing time

题目描述

就像 PASCAL 语言和 C/C++ 语言一样, SH 语言也是一种编程语言。 SH 语言共有 2626 个寄存器,用大写拉丁字母 A, B, … , Z 表示。 SH 语言的程序中,第一行依次是这 2626 个寄存器的初始值,用空格分隔。程序的第二行起,每一行都是一条命令。 SH 语言有三种命令,如下表所示(在格式这一列中,用下划线代替实际语言中的一个空格)。

命令 格式 功能 限制
ADD ADD_R1_R2 将寄存器 R2 的值加到寄存器 R1 上
GOTO IF _R_ < _I1_ GOTO _LINE_ I2 如果寄存器 R 的值小于立即数 I1 ,则跳转至第 I2 ( 2 \ge 2 )行,否则继续执行下一行 至多出现一次,且只可能出现在第 I2 行之后
PRINT PRINT_R 打印寄存器 R 的值 出现且仅出现在最后一行

现给定一个 SH 语言的程序,请输出 PRINT 命令打印的值。

输入格式

每个输入文件都是一个 SH 语言的程序。输入文件保证:所有寄存器的初始值以及 GOTO 命令中出现的立即数,均为不超过 26312^{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

数据范围与提示

在每个测试点,如果您的输出与标准答案完全一致,您将能得到该测试点的全部分数;否则,您将在该测试点得 00 分。
本题为提交答案题,所有的 1010 个输入文件 compiler1.in ~ compiler10.in 都已存放在附加文件中。对于每个输入文件,您需要分别给出相应的输出文件 compiler1.out ~ compiler10.out
注意:您只需提交输出文件而无需提交任何程序。