对拍——>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;
}
#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;
}
#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;
}
一直出现
大概没对过。。。
额。。。所以。。。还是不要投机取巧了。。。
乖乖写"cout<<A+B"吧!