zoukankan      html  css  js  c++  java
  • 程序对拍

    对拍是什么呢?

    对拍就是你给两个程序,和一个随机数据生成器,然后系统去用这个随机数据生成器的输出

    作为你这两个程序的输入,

    然后比较你这两个程序的输出,可以找到一组使这两个程序输出不一样的数据(如果存在的话)

    怎么对拍呢?

    首先,新建一个文件夹,

    然后,在里面放入std.cpp  和 my.cpp

    生成std.exe  和 my.exe

    然后再写一个随机数据生成器 例:数据生成.cpp ===>数据生成.exe

    然后把这三个exe放入到同一文件夹下。

    运行对拍程序

    @echo off  
    :loop  
        数据生成.exe > in.txt
        my.exe < in.txt > myout.txt
        std.exe < in.txt > stdout.txt
        fc myout.txt stdout.txt
    if not errorlevel 1 goto loop  
    pause
    goto loop
    

    解释:

    首先@echo off 是关掉输入显示,不然你的所有命令都会显示出来的,防止刷屏。 
    :loop是定位标记点,和c语言里的goto很像。 
    中间是主体程序。 
    if not errorlevel 1 goto loop ,errorlevel 是上一个命令的返回值,fc在文件不同时返回1,相同时返回0,这一行的意思就是,

    如果fc返回的不是1,就跳到:loop,使劲循环。 
    pause,暂停,一旦fc返回1,就会执行到这一行,停住程序,给你时间看数据。 
    goto loop,看完数据,按下任意键结束暂停,继续循环

    即如果出现不同会显示错误。否则不停止。

     

  • 相关阅读:
    mysql查看每张表的空间使用情况
    下一步开发的技术点
    技术体系需要继续探索的东西
    架构体系需要进一步研究探索的V2路线图
    串行写队列的MYSQL大文本参数
    Node.js 数据存储方式的选择
    Node.js npm 详解
    Node入门
    Node.js知识点学习
    为什么应使用 Node.js
  • 原文地址:https://www.cnblogs.com/adelalove/p/8495678.html
Copyright © 2011-2022 走看看