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,看完数据,按下任意键结束暂停,继续循环

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

     

  • 相关阅读:
    SQL优化总结(转)
    ORA-04030: 在尝试分配...字节(...)时进程内存不足的原因分析解决方法
    MyEclipse 在线安装SVN插件
    jboss+ejb entityManager操作数据库
    struts2标签#、%、$取值
    ejb+weblogic布署(转)
    ejb+jboss集群(转)
    myeclipse配置jboss(转载)
    list-列表练习
    python-循环小练习
  • 原文地址:https://www.cnblogs.com/adelalove/p/8495678.html
Copyright © 2011-2022 走看看