对拍
对拍在oi中有很大的用处(我居然现在才会...)
首先我们先制作一个数据生成器
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
int main()
{ srand(time(0));
printf("%d %d",rand(),rand());
return 0;
}
我们经过统计可得随机数据的范围是[0,32767],那对于一些数据范围显然是不行的,所以我们推导出一个公式:对于[a,b]的整数,生成方式为int(double(rand())/32767*(b-a))+a,而小数去掉int即可。
那我们在制作完数据生成器后在搞一个对拍器
#include<windows.h>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
int main()
{ int t=1000;
while(t--){
system("data > test.in");
system("baoli < test.in > baoli.out");
system("zj < test.in > zj.out");
if(system("fc baoli.out zj.out"))break;
}
return 0;
}
t是任意取的