对拍~~

暴力出奇迹,对拍保平安。

对拍应该几乎所有人都听说过,但对于萌新来说却又那么遥不可及。其实和那些大佬说的一样,对拍其实很简单。


我们在比赛的时候都应该养成一个做题的好习惯:每一题都分步写。能写暴力的就不要犹豫,先把暴力写出来,到时候根据数据加个特判就好了。而且暴力程序除了骗分以外,还是对拍中重要的一环。所谓对拍,其实就是把你不确定正确性的程序和暴力(一定正确!一定正确!一定正确!)但肯定得不到满分的程序的输出进行比较。这就是对拍。


对拍主要有四个文件:
1、数据生成
2、暴力程序
3、未知程序
4、bat文件


1、数据生成文件

主要介绍几个生成数据的代码:

srand((int)time(null));

用来保证不输出重复数据。

rand()

生成一个0~32767之间的整数

rand()<<45|rand()<<30|rand()<<15|rand();

生成一个很大的long long数

int temp=rand()%52+1;
char ch;
if(temp<=26)ch='a'+temp-1;
else ch='A'+temp-27;

生成字母


bat文件

开头加上

@echo off

屏蔽调用的
这里写图片描述

set path=C:\Windows\System32

路径调用指令,不然用不了fc

:while

... .exe文件

... .exe文件

... .exe文件
//分别是数据生成,暴力,待测程序,顺序随意

fc...(输出一) ...(输出二)

if errorlevel == 1 goto end

goto while

:end

bat版子,还是比较简单的

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页