调了一个小时,总结下面几个踩到的坑:
对于某个合法但是进不去的循环,要记录下这是第几层,等回退出他之后要继续统计时间复杂度,变量同理。
存在 F i n n 是合法的,不能第一个值是 n 就排除。
存在 F i a b 其中 a > b,是合法的,但是不能进去。
对于合法但是不能进去的循环或不合法的循环,不要调出这一次询问,因为剩下的字符没有读进来,要打个flag继续读。
如果 E > F 当前的层数会被减成负数,导致数组越界,记得处理。