参考书籍:
计算机考研复试上机指导全书.天勤计算机考研系列.孙肇博 张飞飞.2014.01
在线评测系统
在线评测系统(Online Judge,OJ),提供题目的题目描述、输入输出格式、样例输入及输出,系统用户将相应的代码提交给OJ进行评测。OJ后台利用多组数据运行程序,对程序进行评测,并向用户返回相应结果。结果一般有以下八种:
- AC(Accepted),答案正确;
- CE(Compile Error),编译错误:代码无法通过编译,检查是否提交时选错了语言,或用本地编译器重新编译提交的代码,根据反馈的错误信息,进行修改后重新提交。此类结果一般是由于代码本身错误或者使用库函数却未添加相应头文件;
- MLE(Memory Limit Exceeded),内存超限:如果程序使用了太多空间,超过题目限制。检查定义的数组过大、递归层数过多、动态开辟的内存空间在失去用处后未释放……均可导致内存超限;
- OLE(Output Limit Exceeded),输出超限:输出过量内容,一般是由于未将调试输出注释导致;
- PE(Presentation Error),格式错误:一般我们认为是最接近AC的错误,修改程序中错误输出格式即可解决;
- RE(Runtime Error),运行错误:检查是否有浮点错误、段错误(非法访问内存)、递归层数过多等;
- TLE(Time Limit Exceeded),运行超时:算法时间复杂度大,或者是特殊数据导致程序陷入死循环;
- WA(Wrong Answer),答案错误:好好检查算法逻辑吧,或者也可能是因为自己书写代码时犯了一些小错误。
OJ大多数侧重于竞赛,部分OJ地址如下,可以注册系统选择题目练习:
- PAT:http://www.patest.cn/
- codeup:http://codeup.cn/
- POJ:http://poj.org/
- HDOJ:http://acm.hdu.edu.cn/
- ZOJ:http://acm.zju.edu.cn/
头文件与定义文件
在C程序中常会看到#include <stdio.h>,stdio.h就是一个头文件,是标准输入输出库,该头文件使你的程序具有输入或输出功能。
在编写C程序时,会用到一些写好的库函数,因此将相应头文件包含到程序首部即可,如:#include <string.h>
C++ 程序中的头文件不带.h扩展名,若要用C中的.h头文件,去掉.h,在最前面加c即可,如:#include <cstring>
另外,在使用C++头文件时,在写完所有头文件后,补充:“using namespace std;”
定义文件,主要是用来实现头文件中声明的函数,.c .cpp为扩展名。
在输入输出时,程序中尽量使用一种方式,不要同时在一个程序中使用cout和printf,有时会出现问题。需要提一下的是,cin和cout消耗的时间比scanf和printf多得多,因此当使用cin和cout出现TLE时,可以考虑使用scanf和printf。
基本数据类型
类型 | 取值范围 | 大致范围 |
---|---|---|
int | -231 ~ +(231-1) | -2x109 ~ 2x109 |
long long | -263 ~ +(263-1) | -9x1018 ~ 9x1018 |
float | -2128 ~ +2128(实际精度 6 ~ 7 位) | 实际精度 6 ~ 7 位 |
double | -21024 ~ +21024(实际精度 15 ~ 16 位) | 实际精度 15 ~ 16 位 |
char | -128 ~ +127 | -128 ~ +127 | <