首页 > 其他分享 >对拍

对拍

时间:2024-08-14 20:05:43浏览次数:4  
标签: rand main int system freopen txt

我大抵是学不动了,于是进行了一个鱼的摸

生成随机数

#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;
}

标签:,rand,main,int,system,freopen,txt
From: https://www.cnblogs.com/Z-kazuha/p/18359686

相关文章