zoukankan      html  css  js  c++  java
  • 对拍——>bat

    为了凸显对拍滴重要性、就拿来当置顶啦!

                      ——本来是那样想的

    ----------------------------------------------------------------------

    bat内容

    :loop
      data.exe //制造数据的
      AC.exe   //用来对拍的(std什么的)
      WA.exe   //需要进行对拍的
      fc AC.out WA.out
      if %errorlevel%==0 goto loop
    pause

    具体操作步骤 

    1.写好正解(上述中的AC)代码(就是感觉正确的代码)

    2.写好暴力代码(上述中的WA)代码(就是暴力)

    3.写制造数据(上述中的data)代码

    4.在有data.exe,AC.exe以及WA.exe的文件夹中建立一个"duipai.bat",把上述内容复制到里边,然后打开就ok辣

    bat结果

    它会出现三个东东,就像下面一样的图

    1.正确那么bat就会一直工作(弄得你眼花缭乱)

    2.如果你造的数据中,AC代码跟WA代码有不同之处,那么bat就会停下来,

    出现类似这么个东东(具体看情况233)

    然后你打开in.txt就是你出错的测试点,AC.out就是正确答案,WA.out就是你的输出辣~就能够知道你错在何方!

    当然这个前提是——你的AC程序是对的!

    不然,可想而知——WA+WA=>WA

    举个栗子=u=

    • 就拿A+B Problem来举栗子吧~

    luogu1001有一坨可以拿来拍的程序。。。

    比如说:

    #include <iostream>
    #include <cstdio>
    #include <ctime>
    #include <cstdlib>
    using namespace std;
    
    int main() {
        freopen("in.txt","w",stdout);
        srand(time(0));
        const long long Mod = 1e11;
        cout<<rand()%Mod<<" "<<rand()%Mod;
        return 0;
    }
    data.cpp
    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int main() {
        freopen("in.txt","r",stdin);
        freopen("AC.out","w",stdout);
        long long a,b;
        cin>>a>>b;
        cout<<a+b;
        return 0;
    }
    AC.cpp
    #include <cstdio>
    #include <cmath>
    #define INF 0x7fffffff
    
    const int N = 5;
    int f[N][N];
    
    inline int Min(int a,int b){
        return a < b ? a : b;
    }
    
    void floyd() {
        for(int k=1; k<=N; k++) 
            for(int i=1; i<=N; i++) if(i==k) continue;
            else for(int j=1; j<=N; j++) if(k==j || i==j) continue;
            else f[i][j]=Min(f[i][j],f[i][k]+f[k][j]);
    }
    int main(){
        freopen("in.txt","r",stdin);
        freopen("WA.out","w",stdout);
        int a,b;
        for(int i=1; i<=N; i++)
            for(int j=1; j<=N; j++)
                f[i][j]=INF;
        scanf("%d %d",&a,&b);
        f[1][2]=a;
        f[2][3]=b; //构图,1->2的最短路径是a,2->3的最短路径是b,那么1->3的最短路就是a+b
        floyd();
        printf ("%d",f[1][3]); //输出
        return 0;
    }
    WA.cpp

    一直出现

    大概没对过。。。

    额。。。所以。。。还是不要投机取巧了。。。

    乖乖写"cout<<A+B"吧!

    mua!

    ----------------------------------------------------------------------

    End.

  • 相关阅读:
    Go语言学习笔记六--Go语言中for循环的几种用法
    Go语言学习笔记五--时间time的相关处理以及时间格式化
    Windows给妹子修电脑必备装逼命令
    Go语言学习笔记四--基本数据类型与string类型常用方法
    Go语言学习笔记三--const关键字的使用
    Go语言学习笔记二--基本变量的定义与使用
    Go语言学习笔记一
    Linux虚拟机 桥接模式 NAT网络地址转换模式 和仅主机模式的区别
    Java实现邮件发送验证码等信息
    QT 设置菜单图标
  • 原文地址:https://www.cnblogs.com/zxqxwnngztxx/p/7804546.html
Copyright © 2011-2022 走看看