请求撤下本题的第2篇题解 link
原因:该篇题解程序一眼可以看出,连样例都过不了,当 n=9,p=1 时,正确输出应该是 3 8 7 1 4 5 6 9 2 而这个题解程序中一眼就可以看出,输出的应该是 1 - 9,我想样例剩下2个数据大概率也过不了。
为什么 n=9,p=1 时输出 1 - 9?我们可以来分析一下这个 solve 函数。
当 n=9,p=1
- 第一个 if 不会执行 因为 9×2≥1
- 第二个 for 循环也不会执行,因为 i×2 永远不会小于
1(因为 i 从 1 开始)。
- 第三个 for 循环会执行,因为 p=1。循环从
1 开始,从 1 到 9 打印出这些数字。
- 最后一个 if 不会执行,因为 p 不是偶数。
后面拿笔算了一下,这个题解的代码只能过最后一个样例,其他都过不了,我觉得作为题解,思路清晰是一部分,代码正确也是另一部分吧。