我关于题意的询问
查看原帖
我关于题意的询问
789739
heike305楼主2025/7/31 14:37

关于题目的这句话:

其中F i x y表示新建变量 ii(变量 ii 不可与未被销毁的变量重名)

如果本题中的程序的变量名重复了,但由于上一层循环的 x>yx>y,因此程序不可能执行到这一步,那正确答案是 ERR 还是 YesNo

例如:

输入
1
6 O(n^1)
F a 1 n
F b n 1
F a 1 n
E
E
E

像上面这个样例,实际程序运行中根本不会发生重名错误,因为 nn 远大于 100100 远大于 11,第二层循环根本不会开始,会以 O(n1)O(n^1) 的复杂度结束。

通俗的讲,像这样的 ERR 是指 CE 还是 RE?我们无法确定编程语言 A++ 是像 Python 一样一边编译一边运行,还是像 C 一样先全部编译再运行。

我个人是倾向于 RE,也就是说上述的样例应该输出 Yes,但出题者应该倾向于 CE,本题的测试数据#9的第5个程序像上述的一样,答案是 ERR

当然,如果是我眼瞎看漏题目,那没事了。

2025/7/31 14:37
加载中...