小明正在学习一种新的编程语言 A++ ,刚学会循环语句的他激动地写了好多程序并给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序,于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。
A++ 语言的循环结构如下:
F i x y 循环体 E
其中“F i x y”表示新建变量
“E”表示循环体结束。循环体结束时,这个循环体新建的变量也被销毁。
注:本题中为了书写方便,在描述复杂度时,使用大写英文字母“O”表示通常意义下“
输入格式
输入文件第一行一个正整数
接下来每个程序的第一行包含一个正整数
接下来
程序行若以“F”开头,表示进入一个循环,之后有空格分离的三个字符(串)i x y,其中
注意在第10组数据中可能存在变量名为n的情况,这与之前的描述不符。
程序行若以“E”开头,则表示循环体结束。
输出格式
输出文件共
注意:即使在程序不会执行的循环体中出现了语法错误也会编译错误,要输出“ERR”。
样例一
input
8 2 O(1) F i 1 1 E 2 O(n^1) F x 1 n E 1 O(1) F x 1 n 4 O(n^2) F x 5 n F y 10 n E E 4 O(n^2) F x 9 n E F y 2 n E 4 O(n^1) F x 9 n F y n 4 E E 4 O(1) F y n 4 F x 9 n E E 4 O(n^2) F x 1 n F x 1 10 E E
output
Yes Yes ERR Yes No Yes Yes ERR
explanation
第一个程序 i 从
第二个程序 x 从
第三个程序有一个 F 开启循环却没有 E 结束,语法错误。
第四个程序二重循环,
第五个程序两个一重循环,
第六个程序第一重循环正常,但第二重循环开始即终止(因为
第七个程序第一重循环无法进入,故为常数复杂度。
第八个程序第二重循环中的变量 x 与第一重循环中的变量重复,出现语法错误②,输出 ERR。
样例二
见样例数据下载。
限制与约定
对于30%的数据:不存在语法错误,数据保证小明给出的每个程序的前
对于50%的数据:不存在语法错误,
对于70%的数据:不存在语法错误,
对于100%的数据:
时间限制:
空间限制: