由一个离谱的错误引发的疑问...

P2866 [USACO06NOV] Bad Hair Day S

CSP-J 2022 不是有一个短路运算的题目吗
by huangruiheng0217 @ 2023-05-29 19:29:15


可以参考一下 就是p8815 上面那个写法先判top的,如果此时栈空访问top会炸,后面判断到栈空以后后面的就不执行了
by huangruiheng0217 @ 2023-05-29 19:30:33


@[huangruiheng0217](/user/505954) 十分感谢大佬!了解了,下次注意(鞠躬道谢) 在看P8815
by xclyk @ 2023-05-29 19:37:46


&& 语法,如果第一个条件是 false,那么直接返回 false,不会判断第二个条件,这是 C++ 的一个优化。 一般来说,我推荐一种更保险的写法。 你的那段代码,可以改成: ```cpp while (!a.empty()) // 确保不会 RE { if(a.top()>t) break; ... } ```
by LittleAcbg @ 2023-05-29 20:31:56


@[xclyk](/user/430911) 包括 if,我一般也不会这样写,会把条件拆成 if 嵌套写,这样我一直不会出现 RE。 P.S. 我之前错过,所以选择了绝对不会错的保守算法。
by LittleAcbg @ 2023-05-29 20:35:18


@[LuoJingjia](/user/531709) 万分感谢提供处理方法!不会再栽坑了。
by xclyk @ 2023-07-03 16:23:32


也叫短路
by richardran @ 2023-07-20 14:25:00


学到了
by JvA_C @ 2023-08-27 19:05:21


|