【OJ测试技巧】大量示例测试方法

来源:互联网 发布:傲剑坐骑数据 编辑:程序博客网 时间:2024/05/01 18:58

首先编写test.c,改代码将产生输入用例到指定文件test.txt,因此此文件生成的文本格式需要根据需求而定(比如必要的换行符之类);

然后编写std_solution.c,可以根据输入产生相应正确的输出,用于后面进行答案比对,因为需要输入大量示例,所以要对输入进行循环处理并设置退出条件;

假设我们需要验证的代码为my_solution.c,保持示例输入方式、输出格式、循环处理、退出条件与std_solution.c的保持一致即可;

将test.c运行一遍生成测试文件test.txt,std_solution.c生成std_solution.exe,my_solution.c生成my_solution.exe

然后把两个exe以及test.txt放到一个文件夹,创建批处理文件cmp.bat,内容如下:
std_solution.exe < test.txt > std_output.txtmy_solution.exe < test.txt > my_output.txtfc \n out1.txt out2.txt > result.txt
大意是以test.txt为输入分别生成输出std_output.txt和my_output.txt,然后通过C:\Windows\System32下的工具fc.exe比较out1.txt和out2.txt的内容,将不同的部分列出输出到result.txt中。最终就可以得到你的代码的失败样例,当然也可以用beyond compare软件更加直观查看输出结果的差异。
0 0
原创粉丝点击