CCF-CSP认证知识要求

CCF-CSP认证知识要求

认证内容主要覆盖大学计算机专业所学习的程序设计、数据结构以及算法,以及相关的数学基础知识,并关注编程技巧的使用、性能的优化,以及奇异情况的正常处理。包括但不限于:

   1.程序设计基础

    逻辑与数学运算,分支循环,过程调用(递归),字符串操作,文件操作等。

   2.数据结构

   线性表(数组、队列、栈、链表)、树(堆、排序二叉树)、哈希表、集合与映射、图。

   3.算法与算法设计策略

   排序与查找,枚举,贪心策略,分治策略,递推与递归,动态规划,搜索,图论算法,计算几何,字符串算法、线段树、随机算法,近似算法等。

 

CSP认证考试注意事项

1.考生必须从标准输入中读入输入数据,将输出结果写到标准输出中。一般而言,C语言使用scanf和printf来读入和输出数据,C++语言使用cin和cout来读入和输出数据,Java语言使用Scanner类读入System.in流,输出到System.out中。

 

2.每道试题均有输入输出格式说明,考生不得自己添加输入输出的提示语句,如“请输入n:”、“输出结果为:”,不得输出用于调试的中间结果等,这些语句被当成了程序的输出,导致输出与答案不对应,因此不能得分。

 

3.对于C++语言,主函数的定义必须是 int main() 或 int main(int argc, const char *argv[]),而且主函数的返回值必须是0,不能引用非标准的头文件,比如stdafx.h之类的,否则可能出现评测问题。

 

4.对于Java语言,主类名称必须是Main,即类的定义必须是public class Main,而入口函数应当为public static void main(String[] args)。程序中不能使用package命令定义包信息,否则可能无法评测。

 

5.输出时未按指定要求换行或大小写不符合题目要求的,系统会判定为错误。试题所有的输出均为半角字符(ASCII码++在10到127之间),若输出了全角字符或其他特殊符号的,评定为错误。

 

6.试题中给定了输入输出的样例用于帮助考生理解试题和输入输出格式,在成绩评测时,评测方会使用精心设计的输入数据来运行你的程序,并检查你程序输出的正确性,这些数据通常和样例给出的数据是不一样的。如果用你的程序运行样例不能得到正确结果,一般是因为编制的程序存在错误,该题将不能得分,或不能得到满分。如果样例得到了正确结果,也不代表该程序完全正确,可能会因为程序中隐藏的错误导致运行其他数据时得不到正确的结果,最好使用多组数据从多角度进行测试。

 

7.在测试好自己的程序后,请将整个程序从编辑器中拷贝出来粘贴到考试系统提交窗口里面,再提交即可。每编制与测试好一个程序后要马上提交自己的代码,以免接近考试结束时间,因为网络原因提交不上。如果提交程序之后又有修改,可以再次提交新的版本,考试系统会以你最后提交的为准。

 

8.考生必须提交一个单一的文件作为答案,除了引用系统标准的库文件外,不得引用其他非标准的库文件或自定义的其他文件(如C++不得引用stdafx.h之类的头文件),否则程序无法通过编译。

 

9.程序的长度不得超过64KB,即65536字节,否则不能提交。

 

10.程序在执行时会有严格的时间和内存限制,超过限制时对应的评测点不得分。

 

11.后台为黑盒测试,以通过10组测试数据判断程序是否能够输出正确结果来进行评分,每组测试数据10分,前面几组数据是小数据,后面是大数据;考试时间为4小时,共5道编程题,难度依次递增,每题100分,总分500分。


你可能感兴趣的:(CCF-CSP认证知识要求)