因为最近参与了大量的校内出题工作,所以为了创建工程方便,对常用的算法竞赛编程软件CodeBlocks进行了配置更改,使之可以生成一个便于编写题目STD和造数据的简易工程模板,该配置在Windows系统,20.03版本实测可用。
配置步骤如下:
1.下载工程模板,更改配置
下载传送门
在..\CodeBlocks\templates\wizard\console\
目录下解压压缩包,将make_problem文件夹放到该目录下,wizard.script配置文件替换原有的配置文件
2.重启CodeBlocks,新建工程
在菜单中选择File
->New
->Project..
,打开新建工程的界面,在这个界面中选择Console application
,点击go,准备新建C++工程。
我们发现,在新建C++工程的界面,原本只有C
的工程模板和C++
的工程模板,现在新增了Make_problem
的工程模板,选择这个模板,按照和新建C++工程相同的步骤新建工程。
在新建的工程中,工程结构如下:
这个目录中,main.cpp
和main.h
文件是主函数,用于承载和调用std和数据生成代码,在使用过程中不必更改;data.cpp
和data.h
中编写生成数据的代码,data.h
文件在使用过程中不必更改;std.cpp
和std.h
文件中编写题目的标准代码,在编写标准代码时,std.h
不必更改。
3.编写标准代码、出数据和运行数据
编写标准代码
打开std.cpp
文件,如正常写题一般,编写标准代码,注意,不要删掉模板中原有的#include "std.h"
语句。此时你可以正常运行你的代码,正常地输入输出,正常地调试代码,直到你地代码运行无误。
编写数据生成代码
当你确定标准代码编写无误后,就可以开始生成测试数据了。
打开data.cpp
文件,这个文件中,可以一次性生成测试点编号从l
到r
的数据,如果需要生成有不同的性质的数据,需要多测运行程序,并在运行程序之前更改数据生成逻辑和测试点的起始和终止编号变量l
和r
。
在函数void make_data()
,是需要着重编写的地方,用于生成一个测试点的数据,使用cout正常输出即可。
这部分代码在编写时不能调试,而且无很好的方法验证生成的数据是否正确,需要尽可能生成数据的正确性。
生成测试结果
进入std.h
文件,解除#define STD_OK
前的注释,运行程序,就可以一键生成测试数据和运行结果了
运行程序,terminal里显示的是正在执行的测试点的编号。
运行结束后,测试数据文件保存在工程目录下的data文件夹里,x.in
表示输入数据,x.out
为对应的标准代码的运行结果,在hydro等平台上可以直接上传。