zoukankan      html  css  js  c++  java
  • 【C/C++】对拍教程

    (发现一年没发帖了,趁没课水几个小学期的帖子)

    由于某题莫名卡住,多次debug、试遍乐学的所有用例,依然没有找到自己的算法错误,又莫名其妙地wa,我学习了一下编程竞赛中常用的判断错误方法:对拍。

    对拍,顾名思义,就是对照试验。将相同的数据分别输入到你的程序和“正确的程序”,自动对比在两个程序中产生的输出是否相同。

    其中,数据可以通过编程,利用rand函数,随机生成许多用例,从而涵盖用例的多种情况。

    其中“正确的程序”,在真正的算法竞赛中可以运用暴力算法写出输出没有问题但可能超时的程序,由于本次是线下作业,所以借用了同学已经AC的代码作为参照。

    然后我们来说一下如何对拍:

    你需要四个文件:①WA.cpp,也就是你的程序

                                ②AC.cpp,也就是可以AC的程序

                                ③makeData.cpp,也就是可以输出一组随机用例的程序

                                ④Check.cpp,也就是编译运行可以鉴定两组输出是否相同的程序

    https://blog.csdn.net/Njhemu/article/details/99539576对拍程序可以参考这个链接

    步骤:

    ①    修改Check.cpp,使之满足你的程序和输入输出。

    ②    修改makeData.cpp,在main函数开头插入如下内容:

    ③    修改AC.cpp和WA.cpp,在main函数开头插入如下内容:

    注意其中stdin的文件名要和makeData.cpp的stdout相同

    ④    编译这四个文件,运行Check.exe,结果如下:

     诡异的是,对拍一直no error,OJ却一直过不了啊!(摔)大概是用例生成器生成的数据不全面吧……

  • 相关阅读:
    【算法】Manacher算法
    python 02 python入门知识
    python 01:计算机基础知识
    表示数值的字符串
    C++ 迭代器(STL迭代器)iterator详解
    构建乘积数组
    C++ 容器(STL容器)
    数组中重复的数字
    把字符串转换成整数
    十大经典排序算法
  • 原文地址:https://www.cnblogs.com/fighterkaka22/p/13846871.html
Copyright © 2011-2022 走看看