luogu#P2830. 写程序
写程序
题目背景
zrz 在写程序,他叫你帮他看看他的程序有没有问题。
题目描述
有一个若干行的程序,每一行只有一个命令,可能出现的命令有一下几种:
int a[N]
声明一个数组,开头一定是int
,不会是别的什么long long
之类的,a
是指一个数组的名称(不一定是a
,也有可能是别的字母或者多个字母,总之长度不超过 ),后面是一个中括号和一个数字或一个变量,表示数组大小(从 到 ,),数组声明之后里面的数均为 。a[i] h
把h
赋给a[i]
(也就是a[i]=h
),同样 可能是一个数字或者是一个变量, 代表一个数字或者是一个变量。cout h
输出 , 一定是个变量。
输入格式
若干行:每行一个命令。
输出格式
对于每一个输出的命令(即 cout
),输出一行。
如果在某一行发现有数组下标越界(切记,只可能出现这种错误,不会出现别的比如重定义之类的问题),不管是哪个命令,都要立即停止,无论下面有多少行命令都忽略,并输出 -1
。
int a[10]
a[a[0]] 2
cout a[0]
2
int a[10]
a[0] 10
cout a[0]
a[a[0]] 1
cout a[0]
10
-1
提示
行数不超过 ,变量可能嵌套,如 a[a[b[0]]]
等等,也有可能出现大写字母,所有的出现的数字不会超过 ,也不会是负数,更不会是小数。