OI 易错合集

部分来自 OI-Wiki。

想到哪写到哪。

会导致 WA

  1. “==” 写成 “=“
  2. for 语句变量写错
  3. scanfprintf 格式符不匹配
  4. 多测不清空
  5. 不开 long long 见祖宗
  6. scanf("%c", ...)getchar() 到了空白字符/换行符
    建议用 ch = getchar(); while(!<ch is valid>) { ch = getchar(); }
  7. 程序结束一定要 printf("...\n"); 或者 cout << endl;fclose 防止输出缓存区不写入文件
  8. 忘取模
  9. 交错题 / 放错选手文件夹
  10. 解除流绑定后混用 scanf / cinprintf / cout
  11. 多输出空行

会导致 TLE

  1. 递归栈死里面了
  2. 程序持续等待输入
  3. 记忆化搜索没记忆上
  4. for 循环写反方向
  5. 交互题不刷新流缓存
    fflush(stdin); fflush(stdout);

会导致 RE

  1. void 函数没有返回值(开 O2)
  2. scanf 变量不取地址
  3. 图双向边不开双倍数组

会导致 CE

  1. 与系统函数 / 变量重名
    遇见的有 sizedatalock……
  2. 不注意 Windows 与 Linux 的差异
  3. #define 设常量用科学计数法表示
    #define N 1e5+5
  4. #include 头文件
  5. 数组开的太大
  6. int 重定向为 long long 后 main 函数没改成 signed
  7. INT_MAXLLONG_MAX#include <limits.h>
    参考 数值极限 - cppreference.com
  8. minmax 函数两个参数类型不同

暂无评论

发送评论 编辑评论


				
上一篇
下一篇