acm提交错误

本文详细解析了编程中常见的七种错误类型:CompileError、WrongAnswer、OutputLimit、PresentationError、TimeLimitedExceed、RuntimeError及MemoryLimitExceeded,涵盖了从语法错误到运行时错误的各种情况,并提供了可能的解决方案。

1.Compile Error(编译错误)

就是代码有问题,有些平台不能用万能头文件:#include<bits/stdc++.h>,类似itoa一般用不了

2.Wrong Answer(错误)

与测试数据不一致,一般算法错误

另外如果用了std::ios::sync_with_stdio(false);加速后,不能cin,cout和scanf混用,否则有可能报错

要注意数值范围,函数范围.比如pow()如果比int大,要在前面加long long

3.Output Limit(输出超限)

输出程序走不出来,一般是无限循环

4.Presentation Error(格式错误)

测试数据与数据结构值一样,一般是换行,空格之类的错误

5.Time Limited Exceed(超时)

程序内出现无限循环,走不出来

算法效率太低,不能在规定的时间内运行出结果

如果输入输出太大,一般只能用scanf,有些题目scanf(),printf()的速度都不够

会用


void read(int &x){
    char ch = getchar();x = 0;
    for (; ch < '0' || ch > '9'; ch = getchar());
    for (; ch >='0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
}
inline void read(int &x){char ch;bool ok;
for(ok=0,ch=getchar();!isdigit(ch);ch=getchar()) if(ch=='-') ok=1;
for(x=0;isdigit(ch);x=x*10+ch-'0',ch=getchar());if(ok) x=-x;}

之类的来加速

6.Runtime Error(运行错误)

一般是程序崩溃

指针越界,数组越界,访问过大,或者访问负数下标

出现除零的情况

相乘太大,超过long long,溢出,要注意相乘数大小,可以把相乘转化为相除

使用已经释放的空间

数组开的太大,一般在函数里面开数组大约不能超过约20多w,否则崩溃

7.Memory Limit Exceeded(爆内存)

使用的内存超过程序限制,爆内存,一般是算法效率不够,开多了数组,指针.指针用了不释放

转载于:https://www.cnblogs.com/wangtao971115/p/10358221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值