【模板】对拍程序

前言

考试都考了几十套了,一直都没有对拍过,贪心题要么就写不出来,要么就手动造几个数据拍一下。

今天心情不很好,不怎么想写题,就到处扒了我觉得稍微好看一点儿也好背一点儿的对拍。

配套的是a+b代码和数据生成代码,可以试用一下。随机数据生成比较水,我还没研究过,但是能用也就将就了吧。

我几乎敲了5遍才背下来这段对拍...

代码

对拍程序

库函数不能省

#include<cstdio>
#include<cstdlib>
#include<ctime>
int main()
{
    long s,t;
    while(1)
    {
        system("cls");
        do{
            system("data > try.in");//数据生成程序
            s=clock();
            system("a < try.in > try1.out");//正解
            t=clock();
            system("b < try.in > try2.out");//暴力
            if(system("fc try1.out  try2.out > nul"))break;
            else printf("AC time: %ldms\n",t-s);
        }while(1);
        printf("WA time: %ldms\n",t-s);
        system("fc try1.out try2.out");
        system("pause > nul");
    }
}

正解

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<a+b<<endl;
    return 0;
}

暴力

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    while(b--) a++;
    cout<<a<<endl;
    return 0;
}

随机数据生成

#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main()
{
    srand((unsigned)time(0));
    int a,b;
    a=rand();
    b=rand();
    cout<<a<<‘ ‘<<b<<endl;
    return 0;
}

运行结果

AC效果

WA效果

原文地址:https://www.cnblogs.com/NSD-email0820/p/9742810.html

时间: 2024-08-05 11:15:16

【模板】对拍程序的相关文章

对拍程序讲解及源码举例

对拍程序 一.介绍 在做题或者正式比赛过程中总会把水题做水做乱,但因为样例有坑所以直接过了样例,然后拿去评测结果发现全WA.那如何在这种情况下检查自己程序或算法的正确性呢?对拍是一个简便省事的方案. 所谓“对拍”,顾名思义,就是让两者相互比对.所谓“两者”,一是你要测试的程序,二是一个答案在该程序在一定范围(时间/空间)内结果必定正确的程序(一般是用暴力求解的程序). 两个程序准备好编译好了以后,就可以开始准备测试用的输入样例了.但是输入样例要是人为准备起来的话肯定浪费时间还费脑,更别提在正式比

[zt]手把手教你写对拍程序(PASCAL)

谁适合看这篇文章? ACMERS,OIERS或其它参加算法竞赛或需要算法的人 对操作系统并不太熟悉的人 不会写对拍的人 在网上找不到一个特别详细的对拍样例的人 不嫌弃我写的太低幼的人 前言 在NOIP或是ACM比赛中,一个对拍程序的重要性不言而喻,再有一个效率较低的正确程序下(这是大前提,如果你连一个绝对正确的程序都无法保证的话,那还是不要考虑对拍了),他可以检验你的“高级算法”是不是正确.当然,正确性是完全无法保证的.一般对拍都会用随机函数生成数据,边界条件极限条件极有可能遇不上,也会有很多对

手把手教你写对拍程序(PASCAL)

谁适合看这篇文章? ACMERS,OIERS或其它参加算法竞赛或需要算法的人 对操作系统并不太熟悉的人 不会写对拍的人 在网上找不到一个特别详细的对拍样例的人 不嫌弃我写的太低幼的人 前言 在NOIP或是ACM比赛中,一个对拍程序的重要性不言而喻,再有一个效率较低的正确程序下(这是大前提,如果你连一个绝对正确的程序都无法保证的话,那还是不要考虑对拍了),他可以检验你的“高级算法”是不是正确.当然,正确性是完全无法保证的.一般对拍都会用随机函数生成数据,边界条件极限条件极有可能遇不上,也会有很多对

【技巧】算法竞赛中对拍程序的写法

在竞赛过程中一个对拍程序可以帮你排除许多错误, 如果担心自己写的正解被一些小数据卡掉, 我们通常会写个对拍程序来检查正解的正确性, 通过大量数据观察正解与暴力的输出是否相同. 我们首先拿出我们写的可能会超时但是可以保证绝对正确的暴力程序,称作bf.exe, 然后拿出我们写的待检测的正解,称作std.exe, 接着我们写一个随机数据生成程序,用来一次生成一组自制随机数据用来检测输出,称作gen.exe, 然后我们来写一个利用windows批处理的对拍程序. 在你的程序的根目录下新建一个称作chec

C++对拍程序

考场没心态,担心程序写挂 这时写一个对拍程序就可以大大降低你的担心 所以背个板子就可以了: #include<iostream> #include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<windows.h> using namespace

Windows系统对拍程序

Windows系统对拍程序,其中包含c++11用法,请使用c++11编译. 此对拍程序自动使用g++对源代码进行编译.如果出现找不到g++错误,请将g++所在目录添加至系统的环境变量列表中. 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <ctime> 5 6 // 设置区 7 namespace Settings { 8 const int MAX_LEN

[教程]对拍程序(linux)+ 考试(做题)生成数据 + 提交注意事项

对拍程序(linux) 使用说明: ? ? ? 这里使用compare.cpp程序来对拍的,没有用bash脚本 ? ? ? 使用时,先编译4个文件(std中放正确的标程/暴力程序 my中自己的程序? rand是用来产生数据的) ? ? ? ? ? ? g++ compare.cpp -o duipai ? ? ? ? ? ? g++ my.cpp -o my ? ? ? ? ? ? g++ rand.cpp -o rand ? ? ? ? ? ? g++ std.cpp -o std ? 然后运

对拍程序的写法

对拍程序的写法 作为一名oier,考试不对拍,这跟直接见祖宗有什么区别 这里记录一下对拍程序的写法. 首先我们需要一个data.cpp程序,也就是数据生成器 int main() { srand(time(NULL)); for(R int i = 1; i <= 10; ++i) { ll x = (rand()<<15|rand()), y = (rand()<<15|rand()); cout<<x<<" "<<y

常用模板——对拍

谁知道一个学了快两年oi的菜鸡现在才学对拍--还不是因为之前比赛没写对拍死的太惨了 \(Windows\)下比较常用的是\(\text{.bat}\)形式的对拍程序.码量比较少,但是需要写文件读入读出. 当程序\(\text{error}\)的时候,不会突出显示.所以时不时要看一眼.出错的数据也不会输出. 下面程序中,\(\text{data}\)是数据生成器,\(\text{test}\)是你的考场程序,\(\text{right}\)是你的暴力. 一定要保证暴力正确.否则就是在浪费时间. 实