* **ACM错误总结
来源:互联网 发布:centos selenium 编辑:程序博客网 时间:2024/06/04 20:42
绝大部分是个人经验
能正常运行情况(正常出现黑框):
Wrong Answer(WA):
算法上就出了问题,样例都可能不过,或者漏了什么必要步骤
考虑下特殊情况或捕捉题目隐含条件(比如数据范围)
实在想不出问题就多测试自己想的样例,或者思考题目时怎样得到样例结果的过程,往往会想到解决的办法Presentation Error(PE):
格式错误(但答案正确)
通常是因为输多了或少了空格、换行符之类
再读一遍题目就不难发现(每次输出随手打\n)
输出空行情况:①这种情况只要在输出的最后一行多打一个换行符,就变成\n\n
②Output a blank line between two cases.这种情况输出的空行是在输入数据后,而且要用到tag,第一个样例不需要空行Time Limit Exceeded(TLE)
超时
算法太慢
优化算法咯~Memory Limit Exceeded(MLE)
超内存
爆内存了,通常是数组什么的开太大了吧Output Limit Exceeded(OLE)
输出超量
输多了东西,看看是不是自己测试时候用的代码没注释掉…Compile Error(CE)
编译错误
语法有错误,编译不了
试过没有强制转换出错Runtime Error(RE)
运行时错误,运行一半就崩了
①除以零
②数组越界:int a[3]; a[10000000]=10;
③指针越界:int * p; p=(int )malloc(5 sizeof(int)); *(p+1000000)=10;
④使用已经释放的空间:int * p; p=(int )malloc(5 sizeof(int));free(p); *p=10;
⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000];
不能正常运行情况(一run就崩):
①scanf后面的变量不是地址,没加&
②运行后自动弹出这个乱七八糟的页面…通常是sort出错,而且还是sort里的cmp函数
③野指针…一直不敢用指针…
经验总结:
0.尽量不要用float,直接用double
1.开数组不要开到和题目刚刚好,还要再大一点
2.多次连续读入%c会可能读入多个换行符,可以用字符串%s读入,然后取string[0]
3.多留意定义变量的位置和赋值还有初始化的位置是否正确
4.输出顺手打个\n
5.留意算法中有没有两个变量相乘或相加爆了数据类型,要强制转换
6.数组开大于6个0就要放到外面
7.定义变量记得初始化
8.尽量做乘法,除法也可以变乘法,实在没办法要多留意小数和四舍五入,还有除零
9.题目说integer,不一定就是int型,模棱两可的保险点用long long
入门尚短,长期补充~
最后附上别人的总结
http://blog.csdn.net/consciousman/article/details/51100559
- ACM 常见错误总结
- * **ACM错误总结
- [ACM] ACM常见错误
- ACM 总结
- ACM总结
- ACM总结
- acm总结
- ACM总结
- ACM总结
- ACM总结
- ACM总结
- acm比赛 数据类型方面的错误总结(没必要的错误)
- ACM错误提示/错误原因
- ACM比赛常见错误
- acm oj 错误类型
- ACM常见错误一览
- ACM常见错误
- ACM 刷题错误总结 持续更新并持续回顾中o(╯□╰)o
- 81. Search in Rotated Sorted Array II
- UVA-10474 Where is the Marble?
- 青蛙跳台阶问题
- POJ 2369Permutations
- hdoj--1862 EXCEL排序(sort+结构体)
- * **ACM错误总结
- restful--spring
- linux常用的一些命令(一)
- 【杭电-oj】-2803-The MAX(sort快排)
- UVA-152 Tree's a Crowd
- Java ExecutorService四种线程池的例子与说明
- LeetCode Guess Number Higher or Lower
- El表达式
- Dubins路径及航迹跟踪控制