本仓库是书籍《算法详解(C++11 语言描述)》(预计 2021 年 5 月左右出版)的配套仓库,主要负责更新 CCF CSP 和 PAT 顶级甲级乙级题解代码。由于 CCF CSP 和 PAT 考试都已支持 C++11 标准,本仓库的所有题解代码均将基于 C++11 语法编写。在编译本仓库的代码之前,最好选择支持 C++11 的编译环境。
有关 CCF CSP 考试的简介可参考CCF CSP 认证考试在线评测系统,有关 PAT 考试的简介可参考浙江大学计算机程序设计能力考试(PAT)简介。本仓库的代码会一直维护,每次考试后都会尽快更新新的题解,希望这一工作能够给予算法初学者们一定的帮助。
如果发现本仓库的代码有问题,欢迎通过提 issue 方式发送 bug report,最好附上错误的输入数据或正确的题解代码。
-
为了更好地浏览本仓库,建议使用
chrome
或新版Edge
浏览器并安装以下插件(这里提供的插件链接需要科学上网才能打开)。通过安装免费的谷歌访问助手插件可以正常访问谷歌相关网站。- Octotree:对打开的 Github 代码仓库,像 IDE 一样提供项目目录自动生成一个仓库目录树侧边栏,通过这个插件你可以很方便地打开这个仓库内的任何一个文件。
- MathJax Plugin for Github:对
github
上markdown
文本的latex
语法进行渲染。 - GayHub:为 Github 上的 markdown 文本自动生成目录。该插件似乎还拥有类似于 Octotree 生成目录树的功能,但是目前该功能已失效,而作者至今尚未修复。
-
建议安装 VSCode 并进行相应配置,来编写运行 C++代码。VSCode 是一款现代化的的编辑器,相比于 vc++、CodeBlocks、Dev c++等等老旧的 IDE,VSCode 提供的功能更加强大;相比于 Visual Studio,VSCode 更加小巧。有关 VSCode 的安装以及 C/C++环境的配置可以参考挑把趁手的兵器——VSCode 配置 C/C++学习环境(小白向)。
-
我们可以利用 windows 批处理文件比较程序输出和样例输出或者进行程序对拍,可以参考用 VSCode 终端实现重定向比较程序输出和正确输出。
-
一些常见的数据结构和算法的代码模板可以参考richenyunqi/code-templates: ACM、OI、OJ 代码模板。
-
为方便交流,建立了一个 QQ 群,群号是673612216,可按需求加入。
- 感谢夜行少女对CCF 认证 201812-3CIDR 合并代码的改进
- 感谢Highlight_Jin对CCF 认证 201512-4 送货(100 分)代码的改进
- 感谢张建勋指出CCF 认证 201612-1 中间数中存在的 bug 并提供相应的出现错误的测试数据
- 感谢星辰浩宇指出CCF 认证 201803-3URL 映射中存在的 bug 并提供相应的出现错误的测试数据
- 感谢chocolate-emperor对CCF 认证 201512-2 消除类游戏代码错误的提醒
- 感谢田奕轩对CCF 认证 20161202-工资计算代码错误的提醒
- 感谢徐嘉诚指出CCF 认证 201403-4 无线网络中存在的 bug 并提供相应的出现错误的测试数据
- 感谢zhanyeye对
CCF认证201312-4有趣的数
题解代码的补充