对拍
我大抵是学不动了,于是进行了一个鱼的摸
生成随机数
#include<bits/stdc++.h>
int main()
{
struct _timeb T;
_ftime(&T);
srand(T.millitm);//以上大抵是背下来即可
freopen("in.txt","w",stdout);
int a = rand(),b=rand();//rand()只能生成0到32767之间的随机整数
printf("%d %d\n", a,b);
}
范围给rand取模再加即可
大数直接两个rand相乘或相加
暴力和正解
这里用A+Bproblem举例
暴力
#include <bits/stdc++.h>
int main()
{
freopen("in.txt", "r", stdin); //读入数据生成器造出来的数据
freopen("baoli.txt", "w", stdout); //输出答案
int a, b, ans = 0;
scanf("%d %d", &a, &b);
for (int i = 1; i <= a; ++i)
ans++;
for (int i = 1; i <= b; ++i)
ans++; //这个暴力好蠢
printf("%d\n", ans);
}
正解
#include <bits/stdc++.h>
int main()
{
freopen("in.txt", "r", stdin);
freopen("std.txt", "w", stdout);
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a + b);
}
对拍
#include<bits/stdc++.h>
using namespace std;
int main()
{
while (1) //一直循环,直到找到不一样的数据
{
system("data.exe");
system("baoli.exe");
system("std.exe");
if (system("fc std.txt baoli.txt")) //当 fc 返回 1 时,说明这时数据不一样
break; //不一样就跳出循环
}
return 0;
}