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(爆内存)
使用的内存超过程序限制,爆内存,一般是算法效率不够,开多了数组,指针.指针用了不释放