码迷,mamicode.com
首页 > 其他好文 > 详细

对拍程序的写法

时间:2020-03-01 20:02:47      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:直接   另一个   pre   exe   ++i   写法   一个   srand   not   

对拍程序的写法

作为一名oier,考试不对拍,这跟直接见祖宗有什么区别
这里记录一下对拍程序的写法。
首先我们需要一个data.cpp程序,也就是数据生成器

int main()
{
    srand(time(NULL));
    for(R int i = 1; i <= 10; ++i)
    {
        ll x = (rand()<<15|rand()), y = (rand()<<15|rand());
        cout<<x<<" "<<y<<endl;
    }
    return 0;
}

然后我们需要一个暴力程序,这里叫它baoli.cpp,因为这里举的例子不够明显,故用文字说明

int main()//暴力
{
    for(R int i = 1; i <= 10; ++i)
    {
        ll x, y;
        cin >> x >> y;
        cout<<x + y<<endl;
    }
    return 0;
}

然后需要一个高分但是不保证正确率的程序,这里叫它a.cpp

int main()//正解
{
    for(R int i = 1; i <= 10; ++i)
    {
        int x, y;
        cin >> x >> y;
        cout<<x+y<<endl;
    }
    return 0;
}

将三个程序运行得到的三个.exe文件,就是我们需要操作的。
接下来写一个对拍程序

:again
data > 1.in
baoli < 1.in > 1.out
a < 1.in > 2.out
fc 1.out 2.out
if not errorlevel 1 goto again
pause

这里面\(>\)就是把结果传到另一个文件内,\(<\)就是把另一个文件的东西传过来
还是很容易理解的,\(fc\)则是对比两个文件有没有差异
如果没有差异则继续,有则停下,有不同的数据会保留在data存入的那个文件内
直接伴着数据差错即可。

对拍程序的写法

标签:直接   另一个   pre   exe   ++i   写法   一个   srand   not   

原文地址:https://www.cnblogs.com/heanda/p/12391253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!