rt,这是 P4774 [NOI2018] 屠龙勇士 的第一篇题解。当我将其中代码拷贝到本地并运行时,一开始打开了 -fsanitize=undefined,address,此时我发现它无法通过样例的第一组数据(输出 -1)。
提交到洛谷之后发现是可以通过的。
然后我尝试关闭 address sanitizer,运行行为与刚才一致。
之后我尝试关闭 sanitizer,输出正确。
因此主要想了解到底是代码中什么行为导致了结果有误,以及它是否与运行环境有关。
值得一提的是,https://qoj.ac/blog/qingyu/blog/786 有关于 fsanitize 会导致运行结果有误的记录。