windows对拍及其应用

目录

  • 经典代码
  • 示例
    • duipai.bat
    • data.exe
    • baoli.exe
    • mine.exe

WARN!
#include <bits/stdc++.h>在OI等里面不一定能应用,下面只是为了减小长度而已
bits库实际上就是#include <XXX>了一堆而已

目录

经典代码

对拍.bat

:loop
makedata.exe
K.exe
Kture.exe
fc a.out b.out
if %errorlevel%==0 goto loop
pause 

解释

:loop

创建叫做loop的标签

makedata.exe
K.exe
Kture.exe

运行makedata.exe,K.exe,Kture.exe
其中makedata输出到x.in,然后K.exe从x.in读入,输出到a.out,Ktrue.exe从x.in读入,输出到b.out

fc a.out b.out
if %errorlevel%==0 goto loop
pause 

比较a.out b.out
fc是windows下面一个程序,简单来说如果两个文件相同返回0,不同返回1
%errorlevel%是一个变量,意思是上一行代码的返回值
如果 返回==0 跳转到loop(第一行标签)
如果 返回不等于0 跳过这句话,执行pause(暂停),然后程序结束

示例

duipai.bat

:loop
echo %random%|data.exe
baoli.exe
mine.exe
fc mine.out baoli.out
if %errorlevel%==0 goto loop
pause 

data.exe

输出测试数据到in.in

#include <bits/stdc++.h>
using namespace std;
int main(){
    int rands;
    freopen("in.in","w",stdout);
    cin>>rands;
    srand(rands);//随机数种子,一会再说
    cout<<rand()<<" "<<rand();
    return 0;
}

由于windowsCPP的特性,srand(time(0))一秒只有一个种子,而自己的程序不会太慢,所以直接输入一个种子即可
echo %random%|data.exe里面,是%random%是一个随机数(由duipai.bat解析器cmd.exe随机,每次都是随机的)
|是管道运算,把前面命令应该显示的东西作为标准输入给后面的,echo XXX是显示XXX
这句话意思是把%random%(叫做random的变量,在没有手动声明其值时,每次调用都是随机数)输入给data.exe

baoli.exe

一个已知正解的程序,比如包括暴力求解程序,别人、网上的正解等

#include <bits/stdc++.h>
using namespace std;
int main(){
    int q,w;
    freopen("in.in","r",stdin);
    freopen("baoli.out","w",stdout);
    cin>>q>>w;
    int ans=0;
    if(q>0) {
        for(int i=1;i<=q;i++){
            ans++;
        }
    }else{
        for(int i=-1;i>=q;i--){
            ans--;
        }
    }
    if(w>0) {
        for(int i=1;i<=w;i++){
            ans++;
        }
    }else{
        for(int i=-1;i>=w;i--){
            ans--;
        }
    }
    cout<<ans;
    return 0;
}

mine.exe

自己的程序或者测试的程序
为了显示功能,这里是随机出错。。

#include <bits/stdc++.h>
using namespace std;
int main(){
    int q,w;
    freopen("in.in","r",stdin);
    freopen("mine.out","w",stdout);
    cin>>q>>w;
    srand(time(0));
    int r=rand()%20;
    if(r>=10){
        cout<<q+w+1;
    }else{
        cout<<q+w;
    }
    return 0;
}

最后双击duipai.bat即可看到效果

原文地址:https://www.cnblogs.com/zhshh/p/windowsduipai.html

时间: 2024-10-06 15:27:21

windows对拍及其应用的相关文章

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

Windows对拍模板

注意这是在Windows下的模板,Linux下的过段时间再补充. 单次对拍 1 @echo off 2 3 rand.exe>data.in 4 5 std.exe<data.in>std.out 6 my.exe<data.in>my.out 7 8 fc std.out my.out 9 pause 循环随机对拍 1 @echo off 2 :loop 3 rand.exe %random% > data.in 4 std.exe < data.in >

windows phone 摄像头得到图片是旋转90&#176;

我上个随笔讲到,windows phone 拍出来的photo如果直接使用是反转了90°的. 研究了很久..终于发现问题.其实..这是使用习惯问题... CameraCaptureUI 得到的photo 其实是 以第2图水平的方向为基准的.为什么我会这样说呢..让我们看一下用模拟器拍摄的photo.注意到左边那些字没有. 再给一个水平的,可以看的更清楚.YUY2(640x480) 说白了..其实水平才是别人老外认为的默认视角..但是有人说..这样子..竖着拍的时候就拿到的却会横着显示..很奇怪.

Windows API参考大全新编

书名:新编Windows API参考大全 作者:本书编写组 页数:981页 开数:16开 字数:2392千字 出版日期:2000年4月第二次印刷 出版社:电子工业出版社 书号:ISBN 7-5053-5777-8 定价:98.00元 内容简介 作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的.本书首先对Win32 API函数做完整的概述:然后收录五大类函数:窗口管理.图形设备接口.系统服务.国际特性以及网络服务:在附录部分,讲解如何

ACM模板

目录 语法 c++ java 动态规划 多重背包 最长不下降子序列LIS 计算几何 向量(结构体) 判断两条线段是否相交 曼哈顿距离.切比雪夫距离 Pick定理 二维凸包 点是否在线段上 多边形面积 多边形的面积重心 三维向量(结构体) 三维凸包 数据结构 ST表 单调队列MQ 树状数组BIT 超级树状数组SPBIT 线段树ST 指针版线段树ST 带内存池指针版线段树ST 并查集DSU 左偏树LLT zkw线段树 多关键字堆 双头优先队列 数学 唯一分解 线性递推二项式系数 单个欧拉函数 编码与

windows和linux下如何对拍

对拍是各种计算机考试检查时必备工具,实际上十分强大,只要你的暴力没有写错就没有问题. 对拍的意思:(怎么有点语文课的意思雾) 对:看见'对'就可以知道有两个. 拍:就是把两个程序结果拍在一起,对照(有点牵强). 实践 由于Windows和Linux系统不同,平常大多数人都用Windows,而在noi系列赛事中都采用Linux系统. Windows 就以a+b为例吧. 首先摆一个可能是正解的东西. 这个代码文件名:1.cpp #include<cstdio> #include<window

对拍(windows环境)

"对拍"是什么 我们在调试代码时,经常会遇到困难,其中之一是程序检查不出错误,手造数据太麻烦.如果我们可以很快写出一种暴力但复杂度较高的程序,用于对比两个代码的运行答案,则可以使用对拍来检查程序存在的问题. 对拍的步骤 需要准备的文件(在同一目录下) mk.cpp 在对拍之前,我们需要写一个mk.cpp来造数据 在main函数的前面写上一句 freopen("1.in","w",stdout); 意为:该程序运行的结果输出到名为1.in的文件里,

TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK

关于TCP Delay ACK的概念我就不多说了,到处复制粘贴标准文献以及别人的文章只能让本文篇幅加长而降低被阅读完的欲望,再者这也不是什么论文,附录参考文献几乎很少有人去看,所以我把这些都略过了. 和风吹的干皮鞋,吹的断愁绪吗? 写完本文后的补充: 这段话是我写完本文后补上去的.本来我想把这篇文章控制在2000字以内,或者更少的,800-1000字以内,无奈还是说多了...今天心情非常好,因为我竟然在梦里把三亨利之战的细节搞清楚了,迄今,我觉得自己对于西洋史的认知更近了一步,可以说今天是一个里

【深度分解】听趣拍云产品经理剖析视频基础知识(2)

"随着技术的不断进步,视频技术的制作加工门槛逐渐降低,信息资源的不断增长,同时由于视频信息内容更加丰富完整的先天优势,在近年来已经逐渐成为主流.在基础知识(1)里面已经讲了模拟时代和数字化时代的视频技术.接下来将对视频编码与压缩.画面压缩.运动压缩.互联网视频应用的到来做一个详细的介绍." 视频编码与压缩 视频编码与压缩,是数字化视频非常重要的技术,以至于它直接影响到视频在各个领域的应用.如果没有视频编码技术的不断提高,我们今天也不可能在方方面面享受到视频的便利性. 首先,视频编码是一